获取ActionBar动作图标的参考

时间:2014-03-30 19:59:35

标签: android

我想在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没问题,但refreshViewnull

知道我能做什么,或者我错过了什么?

修改

<item android:id="@+id/action_refresh"
      android:title="@string/action_refresh"
      android:icon="@drawable/ic_action_refresh"
      android:orderInCategory="100"
      app:showAsAction="ifRoom" />

2 个答案:

答案 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)