欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android 多个控件依次执行动画

程序员文章站 2022-07-14 17:45:48
...

今天让给侧滑菜单加动画,要求是菜单每一项从上到下依次向右平移到要显示的位置,搞了半天没有搞出来,也没找到相应的博客。后来随手试了试Animation的startoffset属性,ok了
简单解释一下:
布局
view1
view2
view3
view4
view5
view1—5依次从屏幕外面平移到要显示的位置。
anim文件:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500">
<translate
    android:fromXDelta="-100%p"
    android:toXDelta="0"
    />
</set>

java代码

animation1=AnimationUtils.loadAnimation(this,R.anim.item_translate);
animation2=AnimationUtils.loadAnimation(this,R.anim.item_translate);
animation3=AnimationUtils.loadAnimation(this,R.anim.item_translate);
animation4=AnimationUtils.loadAnimation(this,R.anim.item_translate);
animation5=AnimationUtils.loadAnimation(this,R.anim.item_translate);
view1.setAnimation(animation1); animation2.setStartOffset(100);
view2.setAnimation(animation2);
animation3.setStartOffset(200);//就是这个200毫秒后执行
view3.setAnimation(animation3);
animation4.setStartOffset(300);
view4.setAnimation(animation4);
animation5.setStartOffset(400);
view5.setAnimation(animation5);

然后在要开始动画的地方设置

view1.startAnimation(animation1);
view2.startAnimation(animation2);
view3.startAnimation(animation3);
view4.startAnimation(animation4);
view5.startAnimation(animation5);

然后就OK了,代码是默写的,view的名字和类型根据自己的去写。
写的比较烂,有更好的请指正