您的位置:首页 > 其它

布局动画 LayoutAnimation

2016-04-05 18:52 274 查看
简介
http://blog.csdn.net/pipisky2006/article/details/8317091

补间动画只能对一个控件使用,如果要对某一组控件播放一样的动画的话,可以考虑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>


代码中使用
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: