Android动画之帧动画解析
程序员文章站
2022-09-02 23:20:09
android动画之帧动画解析
他主要是通过播放一系列的图片来达到视觉上的动画效果
帧动画实现方法
xml实现
res/drawable下新建xml文件...
android动画之帧动画解析
他主要是通过播放一系列的图片来达到视觉上的动画效果
帧动画实现方法
xml实现
res/drawable下新建xml文件
xml属性
animation-list结点属性
android:oneshot //如果为true,则动画将只运行一次然后停止。 android:variablepadding //如果为true,则允许绘制的填充根据所选的当前状态进行更改。 android:visible //提供drawable的初始可见性状态; 默认值是false。
item 属性
··· android:drawable //图片资源 android:duration //显示此帧的时间量(以毫秒为单位)。 ···
代码中引用
imageview img =(imageview)findviewbyid(r.id.spinning_wheel_image); img.setbackgroundresource(r.drawable.spin_animation); animationdrawable frameanimation =(animationdrawable)img.getbackground(); frameanimation.start(); -----或者---- animationdrawable animationdrawable = (animationdrawable) getresources().getdrawable( r.drawable.frame_anim); imageview.setbackground(animationdrawable); frameanimation.start();
代码实现
animationdrawable animationdrawable = new animationdrawable(); // 为animationdrawable添加动画帧 animationdrawable.addframe( getresources().getdrawable(r.drawable.img00), 50); animationdrawable.addframe( getresources().getdrawable(r.drawable.img01), 50); imageview.setbackground(animationdrawable); animationdrawable.start();
第一个为图片资源,第二个为当前图片显示的时间
相关方法
方法名 | 用法 |
---|---|
int getduration(int i) | 获取i序号的图片显示时间 |
drawable getframe(int index) | 获取index序号的图片 |
int getnumberofframes() | 获取数目 |
boolean isoneshot() | 是否单次显示 |
boolean isrunning() | 是否正在播放 |
void setoneshot(boolean oneshot) | 设置是否单次显示 |
boolean setvisible(boolean visible, boolean restart) | 设置初始状态是否可见 |
void start() | 从0开始 |
void stop() | 在当前帧停止 |
上一篇: Android 一份详细的Retrofit2.0基本使用总结
下一篇: 安卓音乐播放器开发教程