AnimationDrawable是Android实现动画的一种简单的形式,可以用来实现帧动画。

1.在res/drawable下定义friend.xml文件:

<?xml version="1.0" encoding="utf-8"?><animation-list android:oneshot="false"xmlns:android="http://schemas.android.com/apk/res/android"><item android:duration="400" android:drawable="@drawable/friend_light" /><item android:duration="400" android:drawable="@drawable/friend" /></animation-list> 
其中,每一个item是一帧,android:duration="400"表示每帧持续400ms,android:drawable是每帧要显示的图片。

2.在java代码中载入和执行动画:

①载入动画

Button friend = (Button)findViewById(R.id.friend_btn);friend.setBackgroundResource(R.drawable.friend_anim);AnimationDrawable friend_anim= (AnimationDrawable) friend.getBackground();

②执行动画

friend_anim.start();
③停止动画

friend_anim.stop();

3. 注意:

默认情况下,在OnCreate()中执行animation.start();是无效的,因为在OnCreate()中AnimationDrawable还没有完全的与ImageView绑定,在OnCreate()中启动动画,就只能看到第一张图片。

解决办法:

①调用View的getViewTreeObserver().addOnPreDrawListener()

friend.getViewTreeObserver().addOnPreDrawListener(new OnPreDrawListener(){@Overridepublic boolean onPreDraw() {// TODO Auto-generated method stubfriend_anim.start();return true;}});

②使用Handler

public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    friend = (Button)findViewById(R.id.friend_btn);    handler.postDelayed(new Runnable() {        public void run() {        friend.setBackgroundResource(R.drawable.friend_anim);        friend_anim = (AnimationDrawable) friend.getBackground();        friend_anim.start();        }    }, 50);} 






更多相关文章

  1. 开机动画(闪动的ANDROID字样的动画图片)
  2. Android图文详解属性动画
  3. Android开机动画过程
  4. android中实现swipe的手势功能及页面拖动动画
  5. Android实现局部图片滑动指引效果
  6. Android ImageView 图片等比缩放问题
  7. Android 属性动画(Property Animation) 源码解析 深入了解其内部实
  8. Android的Activity屏幕切换动画||GestureDetector、OnGestureLis
  9. Android使用ViewFlipper实现图片切换功能

随机推荐

  1. SQL Server中减小Log文件尺寸的方法分享
  2. 自动清理 MSSQL Server Table Collation
  3. sql server中查找特定类别的列的写法
  4. N字符在Sql Server字段类型中的重要性概
  5. SQL2000中的默认sa帐号的修改与删除方法
  6. SQL SERVER 利用存储过程查看角色和用户
  7. SQLSERVER的版本信息和SP补丁信息查看方
  8. SQL Server设置主键自增长列(使用sql语句
  9. 常用SQL语句(嵌套子查询/随机等等)详细整
  10. SQL语句的各个关键字的解析过程详细总结