Android Guy
BlogJava
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
随笔:73 文章:1 评论:7 引用:0
Frame动画
有些技术长时间不用就忘记了,在工作中常常使用到Tween动画,今天在淘宝客户端看到Frame动画,一时想不起来怎么实现了,刚刚查了一下,发现很简单,现在写下来备忘。
frame动画:即顺序播放事先做好的图像,与放胶片电影类似。
开发步骤:
1.把准备好的图片放进项目res/drawable-hdpi下。
2.在项目的res目录下创建文件夹drawable,然后在drawable文件夹下面定义动画XML文件,
文件名称可以自定义。
3.为View控件绑定动画效果,调用代表动画的AnimationDrawable的start()方法开始动画。
第一步:新建一个Android工程命名为frame目录结构如下图:
第二步:在项目的res目录下创建文件夹drawable,然后在drawable文件夹下面定义动画XML文件:
1
<?
xml version="1.0" encoding="utf-8"
?>
2
<!--
3
根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画
4
5
根标签下,通过item标签对动画中的每一个图片进行声明
6
7
android:duration 表示展示所用的该图片的时间长度
8
9
-->
10
11
<
animation-list
xmlns:android
="http://schemas.android.com/apk/res/android"
12
android:oneshot
="false"
13
>
14
15
<
item
16
android:drawable
="@drawable/pull_to_refresh_tmall_1"
17
android:duration
="150"
/>
18
<
item
19
android:drawable
="@drawable/pull_to_refresh_tmall_2"
20
android:duration
="150"
/>
21
<
item
22
android:drawable
="@drawable/pull_to_refresh_tmall_3"
23
android:duration
="150"
/>
24
<
item
25
android:drawable
="@drawable/pull_to_refresh_tmall_5"
26
android:duration
="150"
/>
27
<
item
28
android:drawable
="@drawable/pull_to_refresh_tmall_6"
29
android:duration
="150"
/>
30
<
item
31
android:drawable
="@drawable/pull_to_refresh_tmall_7"
32
android:duration
="150"
/>
33
<
item
34
android:drawable
="@drawable/pull_to_refresh_tmall_8"
35
android:duration
="150"
/>
36
<
item
37
android:drawable
="@drawable/pull_to_refresh_tmall_9"
38
android:duration
="150"
/>
39
40
</
animation-list
>
第三步:编写MianActivity类:
1
package
cn.eoe.leigo.frame;
2
3
import
android.app.Activity;
4
import
android.graphics.drawable.AnimationDrawable;
5
import
android.os.Bundle;
6
import
android.view.View;
7
import
android.widget.ImageView;
8
9
public
class
MainActivity
extends
Activity
{
10
private
ImageView iv;
11
private
AnimationDrawable animationDrawable;
12
13
@Override
14
protected
void
onCreate(Bundle savedInstanceState)
{
15
super
.onCreate(savedInstanceState);
16
setContentView(R.layout.activity_main);
17
18
iv
=
(ImageView) findViewById(R.id.iv);
19
animationDrawable
=
(AnimationDrawable) iv.getBackground();
20
}
21
22
public
void
start(View v)
{
23
animationDrawable.start();
24
}
25
26
public
void
stop(View v)
{
27
animationDrawable.stop();
28
}
29
30
}
31
运行上述工程查看效果图:
发表于 2013-05-04 22:27
anthony
阅读(260)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
<
2013年5月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
Android入门(13)
(rss)
Android英语(1)
(rss)
Android面试题库(1)
(rss)
eoe在线课堂(2)
(rss)
代码库(4)
(rss)
解惑(1)
(rss)
随笔档案
2013年5月 (9)
2013年4月 (1)
2013年2月 (3)
2013年1月 (3)
2012年12月 (12)
2012年10月 (6)
2012年9月 (9)
2012年7月 (4)
2012年6月 (6)
2012年5月 (20)
2012年4月 (1)
文章分类
Android英语
(rss)
搜索
最新评论
1. re: 无延时显示Toast的方法
依旧是有延时
--miCookie
2. re: android实现边框圆角
123213
--21
3. re: java计算时间差及比较时间大小(转)
评论内容较长,点击标题查看
--黑色枫叶
4. re: 电话拨号器
我要下载
--余小东
5. re: Java Socket网络编程常见异常
对于问题7,在android中该怎么解决了?
我按照lz的方法做了,也没有用!
--绿一茶下
阅读排行榜
1. android实现边框圆角(27296)
2. java计算时间差及比较时间大小(转)(22360)
3. 在SQLite中使用事务(10978)
4. android 控制软键盘显示和隐藏 (9573)
5. Android中关于布局文件延迟加载控件ViewStub(4886)
评论排行榜
1. Java Socket网络编程常见异常(1)
2. java计算时间差及比较时间大小(转)(1)
3. 无延时显示Toast的方法(1)
4. 采用SharedPreferences保存用户偏好设置参数(1)
5. 多线程断点下载器(1)