简单介绍一下4种动画效果方式
AnimationSet set = new AnimationSet(false); Animation animation = new AlphaAnimation(0,1); //AlphaAnimation 控制渐变透明的动画效果 animation.setDuration(500); //动画时间毫秒数 set.addAnimation(animation); //加入动画集合 animation = new TranslateAnimation(1, 13, 10, 50); //ScaleAnimation 控制尺寸伸缩的动画效果 animation.setDuration(300); set.addAnimation(animation); animation = new RotateAnimation(30,10); //TranslateAnimation 控制画面平移的动画效果 animation.setDuration(300); set.addAnimation(animation); animation = new ScaleAnimation(5,0,2,0); //RotateAnimation 控制画面角度变化的动画效果 animation.setDuration(300); set.addAnimation(animation); LayoutAnimationController controller = new LayoutAnimationController(set, 1); GridView gridView = (GridView) this.findViewById(R.id.gridview); gridView .setLayoutAnimation(controller); //GridView 设置动画效果 ListView listview= (ListView)this.findViewById(R.id.listview); listview.setLayoutAnimation(controller); //ListView 设置动画效果
nim文件夹下建立anim_layout.xml和alpha.xml
android:animationOrder 的取值有normal 0 默认reverse 1 倒序random 2 随机
anim_layout.xml
<?xml version="1.0" encoding="utf-8"?> <layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:delay="0.5" android:animationOrder="random" android:animation="@anim/alpha" />
alpha.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="500" />
</set>
布局文件里的ListView增加一个layoutAnimation属性
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:layoutAnimation="@anim/anim_layout"
></ListView>
<TextView
android:id="@id/android:empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="No data" />
</LinearLayout>