Android基础知识之frame动画效果
作者:_江南一点雨 时间:2022-07-10 03:46:17
上一篇我们说了Android中的tween动画,这一篇我们说说frame动画,frame动画主要是实现了一种类似于gif动画的效果,就是多张图按预先设定好的时间依次连续显示。
新建一个android项目,名字叫做frameTest,在res文件夹下新建一个文件夹叫做anim,我们的frame动画的xml文件就放在这里。
在anim中新建一个frame.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false"><!-- true表示只播放一次,false表示无限循环播放 -->
<item android:drawable="@drawable/girl_1" android:duration="100" />
<item android:drawable="@drawable/girl_2" android:duration="100" />
<item android:drawable="@drawable/girl_3" android:duration="100" />
<item android:drawable="@drawable/girl_4" android:duration="100" />
<item android:drawable="@drawable/girl_5" android:duration="100" />
<item android:drawable="@drawable/girl_6" android:duration="300" />
<item android:drawable="@drawable/girl_7" android:duration="400" />
<item android:drawable="@drawable/girl_8" android:duration="300" />
<item android:drawable="@drawable/girl_9" android:duration="100" />
<item android:drawable="@drawable/girl_10" android:duration="100" />
<item android:drawable="@drawable/girl_11" android:duration="100" />
</animation-list>
这里是11图片,前面的android:oneshot属性表示该动画执行的次数,false表示该动画反复循环播放,true则表示该动画值播放一次,duration表示每张图片显示的时间,以毫秒计。
然后看看MainActivity中的代码:
public class MainActivity extends Activity {
private ImageView iv;
private AnimationDrawable ad;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) this.findViewById(R.id.iv);
// iv.setBackgroundResource(R.anim.frame);
// ad = (AnimationDrawable) iv.getBackground();
//上面两句,可以用下面两句代替,效果是一样的
iv.setImageResource(R.anim.frame);
ad = (AnimationDrawable) iv.getDrawable();
}
public void start(View v){
//如果ad正在运行,就先让它停止下来
if(ad.isRunning())
ad.stop();
ad.start();
}
}
先拿到一个ImageView,然后把frame动画设置为它的背景,最后拿到这个图片的背景并强转为AnimationDrawable,当点击该图片时,如果动画已经在运行,就让它先停止,再重新运行,否则直接运行即可。
原文链接:http://blog.csdn.net/u012702547/article/details/45716757
标签:Android,frame,动画
0
投稿
猜你喜欢
解析Java线程同步锁的选择方法
2023-02-08 11:02:32
解决Jackson解析嵌套类问题(MismatchedInputException)
2023-07-26 03:09:31
SpringBoot整合Mybatis-plus案例及用法实例
2022-03-31 12:02:44
C#实现移除字符串末尾指定字符的方法
2023-02-09 13:32:21
SpringBoot自定义加载yml实现方式,附源码解读
2022-01-22 22:39:40
C#实现简单的JSON序列化功能代码实例
2023-06-21 09:03:52
Android实现Back功能代码片段总结
2021-05-27 01:33:06
C#命令模式(Command Pattern)实例教程
2023-06-13 00:15:48
C#以太网Sockets服务器设计实现
2023-10-10 04:38:32
Android屏幕旋转 处理Activity与AsyncTask的最佳解决方案
2023-03-22 07:02:50
使用logback屏蔽一些包的日志
2023-08-08 20:46:20
java实现客房管理系统
2022-10-15 23:56:33
Android滑动事件冲突详解(一)
2022-07-22 18:20:22
基于java构造方法Vector查找元素源码分析
2023-11-29 04:33:30
浅谈Java并发中的内存模型
2022-09-07 17:54:47
Android开发中Button组件的使用
2021-07-08 07:18:13
C#学习笔记- 浅谈数组复制,排序,取段,元组
2021-10-21 00:50:58
springcloud使用feign调用服务时参数内容过大问题
2022-08-31 11:23:26
spring hibernate实现动态替换表名(分表)的方法
2022-06-10 14:20:03
从try-with-resources到ThreadLocal,优化你的代码编写方式
2023-11-11 03:19:52