我想在ic_action_refresh
中为ActionBar
制作动画。我使用AppCompat
,到目前为止我已经这样做了:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.main,menu);
MenuItem item = menu.findItem(R.id.action_refresh);
if(item != null)
refreshView = MenuItemCompat.getActionView(item);
super.onCreateOptionsMenu(menu, inflater);
}
结果是:item
没问题,但refreshView
是null
。
知道我能做什么,或者我错过了什么?
修改
<item android:id="@+id/action_refresh"
android:title="@string/action_refresh"
android:icon="@drawable/ic_action_refresh"
android:orderInCategory="100"
app:showAsAction="ifRoom" />
答案 0 :(得分:1)
要在菜单项中显示动画(我假设旋转的ProgressBar),请使用以下内容:
item.setActionView(new ProgressBar(YOUR APP CONTEXT));
如果您想摆脱进度条,只需执行item.setActionView(null);
答案 1 :(得分:0)
你必须使用..
item.getActionView() // to get the current action view set for the item
但请确保您已使用..
为此项目设置了操作视图item.setActionView(view)