自定义工具栏中的溢出菜单图标

Overflow Menu icon in Custom Toolbar

我正在使用带有菜单图标的自定义工具栏。现在单击此菜单图标我想显示选项菜单。这怎么能做到。

我试着给这个菜单图标添加一个 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);
}

有了这个,我可以在单击图标时看到溢出菜单。但问题是,它也将默认菜单图标添加到工具栏,因此我的工具栏现在有两个菜单。我怎样才能让我的自定义工具栏图标打开选项菜单

如果您想自定义默认溢出菜单图标..

使用工具栏的 setOverflowIcon 方法。

喜欢:

 toolbar.setOverflowIcon(ContextCompat.getDrawable(this, R.drawable.your_icon));

我使用主题让它工作

<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>