当菜单中只有一项时,操作栏将显示下拉菜单

达科·彼得科夫斯基(Darko Petkovski)

我在应用程序中使用应用程序兼容主题,在操作栏中,我有一个菜单,其中一个项目应显示为图标-但我却得到了这样的菜单按钮

在此处输入图片说明

这是我的菜单xml代码:

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

    <item
        android:id="@+id/action_play"
        android:icon="@drawable/play"
        android:orderInCategory="100"
        android:showAsAction="always"/>

</menu>

以下是有关如何初始化操作栏的代码:

getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setTitle(title);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(false);

并显示菜单:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.names, menu);
        playStop = menu.findItem(R.id.action_play);
        return true;
    }

那么有人可以帮助我显示菜单项吗?

谢谢

潘卡·库玛(Pankaj Kumar)

使用支持库android:showAsAction将不会执行其任务。因此,您的菜单声明不正确。来自文档

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          yourapp:showAsAction="ifRoom"  />
    ...
</menu>

如果操作栏中的项目空间不足,它将显示在操作溢出中。

使用支持库中的XML属性

注意,上面的showAsAction属性使用标记中定义的自定义名称空间。使用支持库定义的任何XML属性时,这是必需的,因为这些属性在旧设备的Android框架中不存在。因此,您必须使用自己的名称空间作为支持库定义的所有属性的前缀。


所以您的菜单XML应该是

<?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/action_play"
        android:icon="@drawable/play"
        android:orderInCategory="100"
        app:showAsAction="always"/>

</menu>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获得下拉菜单中显示的wpf组合框的第一项?

为什么此 CSS 代码使我的下拉菜单仅显示 3 项中的一项?

选择上一个下拉菜单时,将显示新的下拉菜单

如何将 .nextElementSibling 应用于下拉菜单的下一项

如何在Boostrap下拉菜单中隐藏一项

如何在Android Spinner下拉菜单中隐藏第一项?

网格项导航栏中的Flexbox下拉菜单

Bootstrap导航栏在悬停时不显示下拉菜单

如何仅在单击时显示导航栏的下拉菜单?

如何从操作栏中的按钮打开下拉菜单

导航菜单中的下拉菜单没有完全显示,并且悬停时消失了

下拉菜单不显示在导航栏 Laravel 6.0 中

带有水平子菜单栏显示/隐藏的导航栏下拉菜单

下拉菜单中的辅助下拉菜单未显示

在现有导航栏中创建下拉菜单

当我输入一段代码时,为什么下拉菜单中没有显示文本

导航栏中的下拉菜单

第一项上的MDI Menustrip下拉菜单

在下拉菜单中显示值时出错

在gridview中单击更新时,如何显示下拉菜单?

是否只有CSS才能使下拉菜单项与其父项的大小相同?

单击时如何显示下拉菜单

下拉菜单中的Excel操作

悬停时无法正确显示整个导航下拉菜单中的所有数据

如何创建一个显示下拉菜单的 JTextField,该下拉菜单将显示我的数据库中的项目列表?

下拉菜单中的下拉菜单

在Bootstrap 2.3.2中,当有多个下拉菜单元素并且输入所按下的键时,它没有显示正确的下拉菜单

导航栏中的用户菜单下拉菜单

选项未显示在“下拉菜单”中?