【问题标题】:Overflow Menu icon in Custom Toolbar自定义工具栏中的溢出菜单图标
【发布时间】:2018-05-28 18:28:07
【问题描述】:

我正在使用带有菜单图标的自定义工具栏。现在单击此菜单图标,我想显示选项菜单。如何做到这一点。

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

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

【问题讨论】:

  • it adds the default menu icon?...您是否在工具栏中添加了自定义菜单图标?
  • 是的,我的工具栏布局中有一个图标 toolbarMenuIcon。我想在点击这个时显示选项菜单

标签: android android-toolbar android-optionsmenu


【解决方案1】:

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

使用工具栏的setOverflowIcon 方法。

喜欢:

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

【讨论】:

  • 我还自定义了工具栏上的所有其他图标。那么是否不可能有一个按钮作为点击时的选项菜单图标
  • 听起来你想要类似This
  • 你的问题也不清楚......如果你将自定义图标设置为溢出菜单......它也会打开选项!......你需要覆盖onOptionsItemSelected(MenuItem item)。 ..to 定义您的MenuItem.. 的 onClick 行为
  • 感谢您的意见。我不想显示弹出菜单。 “如果您将自定义图标设置为溢出菜单......它也会打开选项!。”如果我只调用 openOptionsMenu 而不设置 setSupportActionBar(mytoolbar) ,则不会发生这种情况。在这种情况下永远不会触发 oncreateOptionsmenu
  • 'oncreateOptionsmenu` 是Actionbar 的方法,通过调用setSupportActionBar(mytoolbar) 我们将工具栏启用为操作栏.. 没有它它将永远无法工作,我也不知道是什么问题由setSupportActionBar(mytoolbar)?这也超出了您的问题的主题..您最好再次重新发布您的问题..!
【解决方案2】:

我用主题让它工作了

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    相关资源
    最近更新 更多