【问题标题】:Context menu in action bar android操作栏android中的上下文菜单
【发布时间】:2015-07-30 11:09:30
【问题描述】:

请帮助我。我使用操作栏 (CAB) 中的上下文菜单。列表菜单有以下代码

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/add_cxtmenu"
        android:icon="@android:drawable/ic_menu_add"
        android:showAsAction="always"
        android:orderInCategory="1"
        android:title="edit"/>
    <item/>
    <item
        android:id="@+id/edit_cxtmenu"
        android:icon="@android:drawable/ic_menu_edit"
        android:showAsAction="always"
        android:orderInCategory="2"
        android:title="edit"/>
    <item
        android:id="@+id/delete_cxtmenu"
        android:icon="@android:drawable/ic_menu_delete"
        android:showAsAction="always"
        android:orderInCategory="3"
        android:title="delete"/>
</menu>

所以菜单应该由三个项目组成。每一项都有一个参数android:showAsAction="always" 最后,我不得不在面板 ActionBar 上获得三个图标。但实际上,我有两个图标一起变成了一个按钮overflowbutton。如何解决?我找不到这个问题的答案。 主题我的应用程序

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">

【问题讨论】:

  • 如果您的图标没有进入您的操作栏中,它们将自动出现在您的溢出菜单中,请尝试减少或删除您的活动标题,但我不确定这是否有效。尝试将您的设备置于横向模式,您的项目是否分开显示?
  • 是的,在任何方向都如此分组。横向prntscr.com/7ys6jo纵向prntscr.com/7ys6rh
  • 你有一个空的项目是正常的吗?如果您使用的是 AppCompat,则需要使用 app:showAsAction 而不是 android:showAsAction,否则将被忽略。
  • 是的,我已经更正了。是的,我已经更正了。但是操作栏也有一个带有空菜单的溢出按钮。我现在如何删除按钮?。

标签: android android-actionbar contextmenu


【解决方案1】:

试试这个。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/add_cxtmenu"
        android:icon="@android:drawable/ic_menu_add"
        app:showAsAction="always"
        android:orderInCategory="1"
        android:title="edit"/>
    <item/>
    <item
        android:id="@+id/edit_cxtmenu"
        android:icon="@android:drawable/ic_menu_edit"
        app:showAsAction="always"
        android:orderInCategory="2"
        android:title="edit"/>
    <item
        android:id="@+id/delete_cxtmenu"
        android:icon="@android:drawable/ic_menu_delete"
        app:showAsAction="always"
        android:orderInCategory="3"
        android:title="delete"/>
</menu>

【讨论】:

  • 现在我得到了图片prntscr.com/7ysa5t我如何删除溢出按钮?
  • 您是否在菜单 xml 文件中添加了溢出按钮项?
  • 是的。操作栏有溢出菜单。但在标记 CAB 中没有溢出按钮。我怎样才能使操作栏有一个按钮,但它不在驾驶室中
  • 尝试删除android:orderInCategory标签。
  • 如果我在 XML 菜单中创建两个项目,那么一切都很好。正如我所愿,没有按钮
【解决方案2】:

尝试改变这一点:

android:showAsAction="always"

为此:

app:showAsAction="always"

你也没有足够的空间。尝试删除您的标题或缩小标题。

【讨论】:

  • 现在我得到了图片 prntscr.com/7ysa5t 如何删除溢出按钮?
  • 尝试使用 ifRoom。有了这个,只有在没有空间的情况下才会溢出……这很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多