菜单项图标上的动画列表

时间:2012-11-28 16:33:11

标签: android animation menuitem

我想在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

2 个答案:

答案 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();