LayoutTransition介绍
来源:互联网 发布:江南作品集软件下载 编辑:程序博客网 时间:2024/05/29 17:11
首先看一个效果图:
XML布局如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.xbxzc.layouttransition.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="addButton" android:text="添加Button"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="removeButton" android:text="删除Button"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/myLinearLayout" android:animateLayoutChanges="true" android:orientation="vertical"> </LinearLayout></LinearLayout>
其中有一个属性android:animateLayoutChanges="true
添加了以后会在生成Layout的时候添加默认的动画效果
Activity:
public class MainActivity extends AppCompatActivity { LinearLayout mLinearLayout; int mark=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mLinearLayout= (LinearLayout) findViewById(R.id.myLinearLayout); } public void addButton(View view) { mark++; Button button=new Button(this); button.setText("小苹果"+mark); LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); mLinearLayout.addView(button,params); } public void removeButton(View view) { if (mark>0){ //移除第一个View mLinearLayout.removeViewAt(0); } }}
LayoutTransition动画演示
//初始化布局动画 mTransition=new LayoutTransition(); mLinearLayout.setLayoutTransition(mTransition); //设置布局动画效果 //view出现动画 ObjectAnimator animator=ObjectAnimator.ofFloat(null,"rotationY",90F,0F). setDuration(mTransition.getDuration(LayoutTransition.APPEARING)); mTransition.setAnimator(LayoutTransition.APPEARING,animator); //View消失动画 ObjectAnimator animator2 = ObjectAnimator.ofFloat(null, "rotationX", 0F, 90F, 0F). setDuration(mTransition.getDuration(LayoutTransition.DISAPPEARING)); mTransition.setAnimator(LayoutTransition.DISAPPEARING, animator2);
通过设置了动画以后,显示效果如下:
0 0
- LayoutTransition介绍
- LayoutTransition
- LayoutTransition
- LayoutTransition
- LayoutTransition 使用
- LayoutTransition设置动画
- LayoutTransition 容器布局动画
- Android容器动画LayoutTransition
- LayoutTransition 容器布局动画
- Android LayoutAnimation 与 LayoutTransition
- LayoutTransition 和 SizeChange
- LayoutAnimation和LayoutTransition
- LayoutTransition 布局动画笔记
- LayoutAnimation与LayoutTransition
- Android 动画之LayoutTransition
- LayoutAnimation/LayoutTransition源码分析
- Android布局动画--LayoutTransition
- Android LayoutAnimation 与 LayoutTransition
- DOM包裹wrapInner()方法
- Android 设计开发及命名规范
- dump code
- 最常见的Mysql数据库优化、索引优化、字段优化等8个方法
- Java读取数据库的数据并转换为json数据
- LayoutTransition介绍
- android.intent.action.MAIN与android.intent.category.LAUNCHER
- Access中创建SQL语句
- WebBrowser页面与WinForm交互技巧
- Q82:三角形网格[Triangle Mesh]图形的平滑着色[Smooth Shading]
- dwz框架的应用
- spring jdbc-数据库操作对象化模型
- 设计模式---享元模式(C++实现)
- 网络基础知识