布局动画 LayoutAnimation
2016-04-05 18:52
274 查看
简介
http://blog.csdn.net/pipisky2006/article/details/8317091
补间动画只能对一个控件使用,如果要对某一组控件播放一样的动画的话,可以考虑layout-animation。LayoutAnimationController用于为一个LinearLayout等布局里面的控件或者是ListView等的item设置动画效果
布局中每一个控件都会有相同的动画效果
这些动画效果在不同的时间显示出来
LayoutAnimationController不仅可以在Layout里面实现也可以在代码中实现
补间动画只能对一个控件使用,如果要对某一组控件播放一样的动画的话,可以考虑layout-animation。LayoutAnimationController用于为一个LinearLayout等布局里面的控件或者是ListView等的item设置动画效果
布局中每一个控件都会有相同的动画效果
这些动画效果在不同的时间显示出来
LayoutAnimationController不仅可以在Layout里面实现也可以在代码中实现
布局中使用
1、在res/anim下新建一个普通的XML补间动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" > <alpha android:duration="500" android:fromAlpha="0" android:toAlpha="1" /> <rotate android:duration="500" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:toDegrees="360" /></set>
2、在res/anim下新建一个 layoutAnimation 动画
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"<!-- 其中delay的单位为秒;animation为设置动画的文件。animationOrder为子控件进入的方式 --> android:animation="@anim/anim_set" android:animationOrder="random" android:delay="0.5" ></layoutAnimation>
3、在需配置动画的布局文件中为控件添加 android:layoutAnimation 属性:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:layoutAnimation="@anim/layout_anim" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是文字我是文字我是文字" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:src="@drawable/ic_launcher" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是文字我是文字我是文字" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:src="@drawable/ic_launcher" /> </LinearLayout></LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" > <alpha android:duration="500" android:fromAlpha="0" android:toAlpha="1" /> <rotate android:duration="500" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:toDegrees="360" /></set>
2、在res/anim下新建一个 layoutAnimation 动画
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"<!-- 其中delay的单位为秒;animation为设置动画的文件。animationOrder为子控件进入的方式 --> android:animation="@anim/anim_set" android:animationOrder="random" android:delay="0.5" ></layoutAnimation>
3、在需配置动画的布局文件中为控件添加 android:layoutAnimation 属性:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:layoutAnimation="@anim/layout_anim" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是文字我是文字我是文字" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:src="@drawable/ic_launcher" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是文字我是文字我是文字" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:src="@drawable/ic_launcher" /> </LinearLayout></LinearLayout>
代码中使用
public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LinearLayout lLayout = (LinearLayout) findViewById(R.id.ll); Animation animation = AnimationUtils.loadAnimation(this, R.anim.anim_set);//也可以在代码中直接使用补间动画! LayoutAnimationController lac = new LayoutAnimationController(animation); lac.setOrder(LayoutAnimationController.ORDER_NORMAL);//设置控件显示的顺序; lac.setDelay(1);//设置控件显示间隔时间,注意单位是秒; lLayout.setLayoutAnimation(lac); }}
来自为知笔记(Wiz)
相关文章推荐
- 第6周项目2(1)画出变量占用的内存及值得变化
- 时间类 (内联成员函数)
- 第五周项目1-三角形类雏形(2)
- FragmentPagerAdapter与FragmentStatePagerAdapter区别
- android meterdesign 动画 (二)
- java中list、set、map区别(转)
- 海量数据处理
- Framework启动流程(1) - init进程启动过程
- matlab自带各种分类器的使用示例
- 单机session共享问题的解决
- git的使用 - 团队开发
- Maven教程
- 第6周项目1—IT妹子类的设计
- The 7th Zhejiang Provincial Collegiate Programming Contest
- Tixml主页上给的一个遍历方法
- Pku oj 2159 Ancient Cipher(字符串)
- Spring Scope
- I.MX6 Linux 自动获取AR1020 event input节点
- Swift语言中问号 ? 和 感叹号 ! 的作用
- 第五周 22 分数类的雏形