繁体   English   中英

Android:操作按钮图标始终显示在叠加层中

[英]Android: Action button icons always appear in overlay

操作项始终出现在叠加中。 这是代码:

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"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">

    <item android:id="@+id/action_create_order"
        android:title="@string/action_create_order"
        android:icon="@drawable/ic_event_black_18dp"
        android:orderInCategory="1"
        app:showAsAction="always" />

    <item android:id="@+id/action_settings"
        android:title="@string/action_settings"
        android:orderInCategory="100"
        app:showAsAction="never" />

</menu>

在主要活动中:

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater menuInflater = getMenuInflater();
    menuInflater.inflate(R.menu.menu_main, menu);
    return super.onCreateOptionsMenu(menu);
}

不应因为“ app:showAsAction =“ always”而将第一项显示在操作栏上吗?

在您的项目中使用它,以显示在操作栏中

app:showAsAction="always"

当您不想在操作栏中显示项目时

app:showAsAction="never"

尝试这段代码,而不是创建选项菜单

 public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

如果是碎片

自定义名称空间将阻止showAsAction显示。 所以

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

<item android:id="@+id/action_create_order"
    android:title="@string/action_create_order"
    android:icon="@drawable/ic_event_black_18dp"
    android:orderInCategory="1"
    android:showAsAction="always"
    android:icon="@android:drawable/ic_menu_add" />

<item android:id="@+id/action_settings"
    android:title="@string/action_settings"
    android:orderInCategory="100"
    android:showAsAction="never" />

</menu>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM