Android编程实现动画自动播放功能

 更新时间:2017年07月10日 12:07:48   作者:-droidcoffee-  
这篇文章主要介绍了Android编程实现动画自动播放功能,结合实例形式分析了Android动画自动播放功能的实现方法与相关注意事项,需要的朋友可以参考下

本文实例讲述了Android编程实现动画自动播放功能。分享给大家供大家参考,具体如下:

private ImageView image;
private AnimationDrawable animDrawable = new AnimationDrawable();
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.table_title);
    image = (ImageView) this.findViewById(R.id.scrollView);
    //代码实现
//   for(int i=0; i<16; i++){
//     int id = getResources().getIdentifier("load_"+(i+1), "drawable", getPackageName());
//     animDrawable.addFrame(getResources().getDrawable(id), 50);
//   }
//   animDrawable.setOneShot(false);
//   image.setBackgroundDrawable(animDrawable);
    animDrawable = (AnimationDrawable) image.getBackground();
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    animDrawable.start();
}

在onCreate中执行 animDrawale.start() 动画并不执行。 搞不懂啊
另外以上代码测试过有缺陷。 例如在TabActivity中 onWindowFocusChanged只会执行一次

所以

AnimationDrawable ad;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ImageView iv = (ImageView) findViewById(R.id.animation_view);
    iv.setBackgroundResource(R.drawable.animation);
    ad = (AnimationDrawable) iv.getBackground();
   //关键代码
   iv.getViewTreeObserver().addOnPreDrawListener(opdl);
}
OnPreDrawListener opdl=new OnPreDrawListener(){
    @Override
    public boolean onPreDraw() {
        if(ad.isRunning() == false){
        ad.start();
        }
        return true; //注意必须返回true
    }
};

此方法试过 确实可行。 很好。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发动画技巧汇总》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》、《Android资源操作技巧汇总》及《Android控件用法总结

希望本文所述对大家Android程序设计有所帮助。

相关文章

  • Android利用HelloChart绘制曲线

    Android利用HelloChart绘制曲线

    这篇文章主要为大家详细介绍了Android利用HelloChart绘制曲线,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • android读写中文如何避免乱码详解

    android读写中文如何避免乱码详解

    这篇文章主要介绍了android读写中文如何避免乱码的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • Compose 的 Navigation组件使用示例详解

    Compose 的 Navigation组件使用示例详解

    这篇文章主要为大家介绍了Compose 的 Navigation组件使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Android进阶之从IO到NIO的模型机制演进

    Android进阶之从IO到NIO的模型机制演进

    这篇文章主要为大家介绍了Android进阶之从IO到NIO的模型机制演进详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Flutter使用sqflite处理数据表变更的方法详解

    Flutter使用sqflite处理数据表变更的方法详解

    了解过数据库的同学应该会知道,数据表结构是可能发生改变的。所以本文为大家介绍了Flutter 使用 sqflite 处理数据表变更的版本升级处理方法,感兴趣的可以了解一下
    2023-04-04
  • android开发去除标题栏的方法

    android开发去除标题栏的方法

    这篇文章主要介绍了android开发去除标题栏的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Flutter开发之Widget自定义总结

    Flutter开发之Widget自定义总结

    这篇文章主要给大家介绍了关于Flutter开发中Widget自定义的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Flutter具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Android 中对于图片的内存优化方法

    Android 中对于图片的内存优化方法

    Android 中对于图片的内存优化方法,需要的朋友可以参考一下
    2013-03-03
  • Android开发多手指触控事件处理

    Android开发多手指触控事件处理

    这篇文章主要为大家介绍了Android开发多手指触控事件处理教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Android Flutter实现仿闲鱼动画效果

    Android Flutter实现仿闲鱼动画效果

    目前正在做的项目,为了增加用户的体验度,准备增加一些动画效果。本文将通过Android Flutter实现仿闲鱼动画效果,感兴趣的可以尝试一下
    2023-02-02

最新评论