我正在使用带有菜单图标的自定义工具栏。现在单击此菜单图标我想显示选项菜单。怎么办呢。
我尝试将onclicklistener添加到此菜单图标
@Override
public void onClick(View v) {
if(v.getId() == R.id.toolbarMenuIcon){
openOptionsMenu();
}
}
这没有用。然后我添加了这些行
setSupportActionBar(mBinding.customSelectToolbar.selectionModeToolbar);
在我的活动oncreate()中。也做了覆盖
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.selection_mode_menu, menu);
return super.onCreateOptionsMenu(menu);
}
有了这个,我可以在点击图标时看到溢出菜单。但问题是,它还将默认菜单图标添加到工具栏,因此我的工具栏现在有两个菜单。如何只有我的自定义工具栏图标打开选项菜单
答案 0 :(得分:3)
如果要自定义默认溢出菜单图标..
使用工具栏的setOverflowIcon方法。
像:
toolbar.setOverflowIcon(ContextCompat.getDrawable(this, R.drawable.your_icon));
答案 1 :(得分:1)
我使用主题
工作了<style name="OverFlow" parent="Widget.AppCompat.ActionButton.Overflow">
<item name="android:src">@drawable/ic_menu_overflow</item>
<item name="android:tint">...</item>
<item name="android:width">..dp</item>
<item name="android:height">..dp</item>
</style>
<style name="OnArrival.toolbarTheme" parent="Theme.OnArrival.Light">
<item name="actionOverflowButtonStyle">@style/OverFlow</item>
</style>