0

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

4

2 回答 2

2

((AnimationDrawable) item.getIcon()).start();onCreateOptionsMenu(Menu menu) 这没有用。然后我想,也许应该在 UI 线程上完成,然后这个工作:

someView.postDelayed(new Runnable() {
        @Override
        public void run() {
            ((AnimationDrawable) item.getIcon()).start();
        }
    }, 1000);
于 2015-05-11T10:53:19.950 回答
0

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

((AnimationDrawable)myMenuItem).start();
于 2013-08-16T19:28:45.927 回答