安卓布局动画

Android动画之布局动画布局动画是针对于ViewGroup使用的,这里用ListView来实现了布局动画的效果。

MainActivity代码:

public class MainActivity extends ActionBarActivity {
    ArrayList<String> list=new ArrayList<String>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView lv=(ListView) findViewById(R.id.lv);
        for (int i = 0; i < 30; i++) {
            list.add("aaa"+i);
        }
        lv.setAdapter(new MyAdapter());
        //布局动画管理器
        LayoutAnimationController lac = new LayoutAnimationController(AnimationUtils.loadAnimation(this, R.anim.bb));
        //设置布局动画的顺序,一共有三种
        lac.setOrder(LayoutAnimationController.ORDER_NORMAL);
        //布局动画设置到listview上
        lv.setLayoutAnimation(lac);
        //开启动画
        lv.startLayoutAnimation();
    }
    public class MyAdapter extends BaseAdapter{

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return list.size();
        }

        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return 0;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHander vh=null;
            if (convertView==null) {
                convertView= View.inflate(MainActivity.this, R.layout.aa, null);
                vh= new ViewHander();
                vh.tv=(TextView) convertView.findViewById(R.id.tv);
                convertView.setTag(vh);
            }else{
                vh=(ViewHander) convertView.getTag();
            }
            vh.tv.setText(list.get(position));
            return convertView;
        }
        class ViewHander{
            TextView tv;
        }
    }
}

anim中的动画:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale android:duration="1000"
        android:fromXScale="0.1"
        android:fromYScale="0.1"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="1.0"/>
    <alpha android:duration="1000"
        android:fromAlpha="0"
        android:toAlpha="1.0"/>

</set>

猜你喜欢

转载自blog.csdn.net/a2978157/article/details/72927451