我在NavigationDrawer / View上阅读了很多关于设置所选项目的stackoverflow答案,但是我的工具栏项目不能获得相同的行为。
如何获取具有不同背景颜色的选定项目?
我可以设置检查和检查onOptionItemSelected以获取复选框,但我想使用选择行为。
与navigationView类似,但在工具栏菜单项上:
答案 0 :(得分:0)
创建自定义视图并将其提供给菜单项:
<item android:id="@+id/activity_main_alerts_menu_item"
android:title="Alerts"
app:actionLayout="@layout/CUSTOMVIEW"
<!-- important part --> app:showAsAction="ifRoom"/>
在活动中访问此活动:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
final MenuItem alertMenuItem = menu.findItem(R.id.activity_main_alerts_menu_item);
FrameLayout rootView = (FrameLayout) alertMenuItem.getActionView();
redCircle = (FrameLayout) rootView.findViewById(R.id.view_alert_red_circle);
countTextView = (TextView) rootView.findViewById(R.id.view_alert_count_textview);
return super.onPrepareOptionsMenu(menu);
}
阅读this article了解详情