菜单项图标上的动画列表



我想在操作栏中有一个可视化布尔值的菜单项。如果此布尔值为 true,则图标应开始循环对一系列 2 个图像进行动画处理。我做了以下工作:

我在菜单中添加了一个项目.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

我在 onCreateOptionsMenu(Menu menu)((AnimationDrawable) item.getIcon()).start();这行不通。然后我想,也许它应该在 UI 线程上完成,然后这奏效了:

someView.postDelayed(new Runnable() {
        @Override
        public void run() {
            ((AnimationDrawable) item.getIcon()).start();
        }
    }, 1000);

我一直在寻找同样的东西,只是发现你的问题没有得到回答,所以这是来自 Android 开发网站的解决方案:

((AnimationDrawable)myMenuItem).start();

最新更新