Android animationDrawable未在Actionbar中播放?
我使用开发者指南()创建了一个动画记录按钮,对actionbar菜单项(而不是imageView)进行了一些小的修改。当我呼叫onStart时,它不播放 这是我使用的代码Android animationDrawable未在Actionbar中播放?,android,Android,我使用开发者指南()创建了一个动画记录按钮,对actionbar菜单项(而不是imageView)进行了一些小的修改。当我呼叫onStart时,它不播放 这是我使用的代码 RecordButton.setIcon(R.drawable.recordbutton); recordAnimation = (AnimationDrawable) RecordButton.getIcon(); recordAnimation.start(); 有人知道它为什么不播放吗?我也有同样的问题。我可以通过使用
RecordButton.setIcon(R.drawable.recordbutton);
recordAnimation = (AnimationDrawable) RecordButton.getIcon();
recordAnimation.start();
有人知道它为什么不播放吗?我也有同样的问题。我可以通过使用操作栏提供程序绕过它,如下所述:
跳过ShareActionProvider并创建一个自定义的。这使您可以为操作栏项目(本例中为图像视图)使用自定义布局,您可以按照指向可绘制动画指南的链接中所述对其进行操作。for me working调用start()
我要告诉可能会在这里结束的人:在我的应用程序中,我刚刚尝试用相同的方法将ActionBar按钮的图标更改为AnimationDrawable,效果很好
My AnimationDrawable
ic\u action\u recording\u active
:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false" >
<item android:drawable="@drawable/ic_action_recording_active0" android:duration="200" />
<item android:drawable="@drawable/ic_action_recording_active1" android:duration="200" />
<item android:drawable="@drawable/ic_action_recording_active2" android:duration="200" />
</animation-list>
编辑:我刚才看到在onCreateOptions菜单中使用图标.start()
实际上并没有启动动画
我最后在WindowFocusChanged中调用了changeMenuIcon
,您找到解决方案了吗?我也有同样的问题。我的图标更改为AnimationDrawable,但仍停留在第一帧上。为其他需要类似于我所做的事情的人继续此操作。我希望菜单项的行为像一个正常的项目,但与动画图标。为了使项目正常运行,我必须添加一些额外的内容:、和(按下或使用箭头键选择时高亮显示)。
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false" >
<item android:drawable="@drawable/ic_action_recording_active0" android:duration="200" />
<item android:drawable="@drawable/ic_action_recording_active1" android:duration="200" />
<item android:drawable="@drawable/ic_action_recording_active2" android:duration="200" />
</animation-list>
public void changeMenuIcon(MenuItem item) {
if (isRecording) {
item.setIcon(R.drawable.ic_action_recording_active);
AnimationDrawable icon = (AnimationDrawable) item.getIcon();
icon.start();
} else {
item.setIcon(R.drawable.ic_action_recording);
}
}