ListView Animation*

简单介绍一下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>  
 
原文地址:https://www.cnblogs.com/chenxibobo/p/6136633.html