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-Jetpack-Navigation组件使用示例
这篇文章主要介绍了Android-Jetpack-Navigation组件使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-08-08Adapter实现ListView带多选框等状态的自定义控件的注意事项
Android本身为ListView提供了几个方便的Adapter,比如ArrayAdapter、SimpleCurrentAdapter等等,接下来介绍自定义Adapter实现ListView带多选框等状态控件的注意事项,感兴趣的朋友可以详细了解下,或许对你有所帮助2013-01-01Android编程加密算法小结(AES、Base64、RAS加密算法)
这篇文章主要介绍了Android编程加密算法,结合实例分析了AES、Base64及RAS加密算法,具有一定参考借鉴价值,需要的朋友可以参考下2015-11-11Android4.4+ 实现半透明状态栏(Translucent Bars)
这篇文章主要为大家详细介绍了Android4.4+ 实现半透明状态栏,对状态栏(Status Bar)和下方导航栏(Navigation Bar)进行半透明处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-09-09
最新评论