最佳答案
我一直在到处寻找解决问题的方法,但似乎还没有找到。我有一个 ActionBar (ActionBarSherlock) ,它的菜单是从一个 XML 文件膨胀起来的,该菜单包含一个项目,其中一个项目显示为 ActionItem。
菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_refresh"
android:icon="@drawable/ic_menu_refresh"
android:showAsAction="ifRoom"
android:title="Refresh"/>
</menu>
活动:
[...]
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.mymenu, menu);
return true;
}
[...]
当用户单击 ActionItem 时,ActionItem 将显示一个图标,但不显示文本,我希望图标开始动画,更具体地说,就地旋转。该图标是一个刷新图标。
我意识到 ActionBar 支持使用自定义视图(添加操作视图) ,但是这个自定义视图扩展到了 ActionBar 的整个区域,实际上阻止了除应用程序图标之外的所有东西,在我的例子中,这不是我想要的。
因此,我的下一个尝试是尝试使用 AnimationDrawable 并逐帧定义我的动画,设置绘图为菜单项的图标,然后在 onOptionsItemSelected(MenuItem item)
中获取图标并使用 ((AnimationDrawable)item.getIcon()).start()
开始动画。然而,这是不成功的。有人知道如何达到这个效果吗?