定义操作栏溢出项目

发布于 2025-01-05 11:54:02 字数 821 浏览 0 评论 0原文

如果我为操作栏定义以下项目:

res/menu/action_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:title="label"/>
    <item android:title="label1"/>
    <item android:title="label2"/>
    <item android:title="label3"/>
    <item android:title="label4"/>

</menu>

在我的活动中:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.action_menu, menu);
    return true;
}

是否允许我定义某些项目移动到操作溢出部分 ?以及如何做?

PS 操作溢出部分是操作栏的最右侧部分,它隐藏了某些项目,例如弹出菜单。

If I define the following items for my action bar:

res/menu/action_menu.xml :

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:title="label"/>
    <item android:title="label1"/>
    <item android:title="label2"/>
    <item android:title="label3"/>
    <item android:title="label4"/>

</menu>

In my Activity:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.action_menu, menu);
    return true;
}

Is there anyway to allow me define certain items move to action overflow part ? and how to do it?

P.S. Action overflow part is the right-most part of action bar which hide certain items like a popup menu.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

转瞬即逝 2025-01-12 11:54:02

恰恰相反。您需要通过设置适当的标志来明确告诉菜单您想要在 ActionBar 中显示哪些内容,哪些不想要显示在 ActionBar

<item android:id="@+id/refresh"
      android:title="@string/refresh"
      android:icon="@drawable/reload_button"
      android:showAsAction="always"/>

这里android:showAsAction告诉我们如何处理它。选项

  • 总是
  • ifRoom
  • 从不
  • withText

您可以或选项与管道符号一起作为“always|withText”

请参阅 android 操作栏文档以获取更多文档。

It's the other way round. You need to explicitly tell the menu which ones you want in the ActionBar and which not by setting the appropriate flags

E.g.

<item android:id="@+id/refresh"
      android:title="@string/refresh"
      android:icon="@drawable/reload_button"
      android:showAsAction="always"/>

Here android:showAsAction tells how to handle it. Options are

  • always
  • ifRoom
  • never
  • withText

You can or options together with the pipe symbol as "always|withText"

See the android docs for action bar for more documentation.

╭⌒浅淡时光〆 2025-01-12 11:54:02

要在 Heiko 关于操作栏上的“溢出菜单”的答案中添加一些内容,只有当您将项目设置为 ifRoom 并且没有空间显示它们时,才会发生这种情况。在溢出菜单上,它们仅显示标题,没有图标。

在 Android 4.0 上,溢出菜单(“3 点旋转器”)仅显示在没有物理“菜单”按钮的设备上。您可以在 ADV 上进行测试,将选项硬件后退/主页键选项设置为“否”。

To add something to Heiko's answer about the "overflow menu" on the action bar, this only happens if you have items set as ifRoom and there is no room for them to be displayed. On the overflow menu they only appear with a title and no icon.

On Android 4.0, the overflow menu ("3 dot spinner") is only shown on devices that don't have the physical "menu" button. You can test this on an ADV setting the option Hardware Back/Home keys option to "no".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文