【问题标题】:Android: Action button icons always appear in overlayAndroid:操作按钮图标始终出现在叠加层中
【发布时间】:2016-09-06 16:31:03
【问题描述】:

操作项始终显示在叠加层中。代码如下:

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" 而出现在操作栏上吗?

【问题讨论】:

    标签: android android-actionbar


    【解决方案1】:

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

    app:showAsAction="always"

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

    app:showAsAction="never"
    

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

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

    【讨论】:

    • 我已经在我的项目中使用了它,你可以从上面的代码中看到。还尝试了“getMenuInflater().inflate(R.menu.menu_main, menu);”但也无济于事。
    • 您可以将您的第一个项目作为 app:showAsAction="ifRoom" 显示在操作栏中 @bazera
    • 我已经更正了。我刚刚用“android”改变了“app”。它给了我一个错误,但我忽略了它。启动了应用程序,一切正常:)
    【解决方案2】:

    如果是片段

    自定义命名空间将阻止 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>
    

    【讨论】:

    • 不,不是片段,而是主要活动。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-25
    • 2016-03-02
    相关资源
    最近更新 更多