我想在ActionBar中有一个菜单项,它可以显示一个布尔值。如果此布尔值为true,则图标应开始在循环中为一系列2个图像设置动画。我做了以下事情:
我在menu.xml文件中添加了一个项目:
<item
android:id='@+id/myAnimation'
android:icon='@drawable/pic1'
android:showAsAction='ifRoom'>
</item>
我创建了一个动画列表:
<?xml version='1.0' encoding='utf-8'?>
<animation-list xmlns:android='http://schemas.android.com/apk/res/android'
android:oneshot='false' >
<item
android:drawable='drawable/pic1'
android:duration='100' />
<item
android:drawable='drawable/pic2'
android:duration='100' />
</animation-list>
在方法onCreateOptionsMenu
中,我将此菜单项分配给变量
myMenuItem = menu.findItem(R.id.myAnimation);
现在,我希望添加一个动画,只要我告诉菜单项动画,它就会被执行。但我无法接近。
谢谢!任何帮助表示赞赏!
编辑: 该应用程序应支持来自8的API
答案 0 :(得分:2)
我在((AnimationDrawable) item.getIcon()).start();
中onCreateOptionsMenu(Menu menu)
做了someView.postDelayed(new Runnable() {
@Override
public void run() {
((AnimationDrawable) item.getIcon()).start();
}
}, 1000);
这没用。然后我想,也许它应该在UI线程上完成,然后这工作:
A A 5
A B 4
A C 3
B B 2
B C 1
C C 0
答案 1 :(得分:0)
我一直在找同样的事情,只是发现你的问题没有得到答复,所以这是解决方案,来自Android dev website:
((AnimationDrawable)myMenuItem).start();