不显示ActionBar按钮

时间:2016-01-15 10:36:14

标签: java android xml menu

我试图在操作栏中显示我的菜单,如下所示:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/Menu1"
        android:icon="@drawable/res1"
        android:showAsAction="ifRoom"
        android:title="Menu1"/>
    <item
        android:id="@+id/Menu2"
        android:icon="@drawable/res2"
        android:showAsAction="ifRoom"
        android:title="Menu2"/>
    <item
        android:id="@+id/Menu3"
        android:icon="@drawable/res3"
        android:showAsAction="ifRoom"
        android:title="Menu3"/>

</menu>

在代码中:

public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_logged, menu);
        return true;
    }

在设计编辑器上显示按钮。但是当我在我的智能手机(三星Galaxy Note 3)上启动应用程序时,其中的菜单显示了3个点。但行动栏中没有菜单。

我不明白,我测试了android:showAsAction的所有标志,我的内部菜单仍有3个点。

感谢您的帮助!

4 个答案:

答案 0 :(得分:3)

导入此

app xmlns:app="http://schemas.android.com/apk/res-auto"

并使用此app:showAsAction="always"代替android:showAsAction="ifRoom"

编辑完整的代码

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
app xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/Menu1"
        android:icon="@drawable/res1"
        app:showAsAction="always"
        android:title="Menu1"/>
    <item
        android:id="@+id/Menu2"
        android:icon="@drawable/res2"
        app:showAsAction="always"
        android:title="Menu2"/>
    <item
        android:id="@+id/Menu3"
        android:icon="@drawable/res3"
        app:showAsAction="always"
        android:title="Menu3"/>

</menu>

答案 1 :(得分:2)

尝试使用此

<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/Menu1"
android:icon="@drawable/ic_launcher"
app:showAsAction="always"
android:title="Menu1"
android:orderInCategory="0"/>

<item
android:id="@+id/Menu2"
android:icon="@drawable/ic_launcher"
app:showAsAction="always"
android:title="Menu2"
android:orderInCategory="1"/>

<item
android:id="@+id/Menu3"
android:icon="@drawable/ic_launcher"
app:showAsAction="always"
android:title="Menu3"
android:orderInCategory="2"/>

</menu>

答案 2 :(得分:2)

尝试下面的menu.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/Menu1"
    android:icon="@drawable/ic_launcher"
    app:showAsAction="ifRoom"
    android:title="Menu1"
    android:orderInCategory="0"/>
<item
    android:id="@+id/Menu2"
    android:icon="@drawable/ic_launcher"
    app:showAsAction="ifRoom"
    android:title="Menu2"
    android:orderInCategory="1"/>
<item
    android:id="@+id/Menu3"
    android:icon="@drawable/ic_launcher"
    app:showAsAction="ifRoom"
    android:title="Menu3"
    android:orderInCategory="2"/>

</menu>

答案 3 :(得分:1)

试试这个:

<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/Menu1"
        android:icon="@drawable/res1"
        android:title="Menu1"
        app:showAsAction="ifRoom" />
    <item
        android:id="@+id/Menu2"
        android:icon="@drawable/res2"
        android:title="Menu2"
        app:showAsAction="ifRoom" />
    <item
        android:id="@+id/Menu3"
        android:icon="@drawable/res3"
        android:title="Menu3"
        app:showAsAction="ifRoom" />

</menu>

另外,请看一下:

http://developer.android.com/guide/topics/resources/menu-resource.html

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@[+][package:]id/resource_name"
          android:title="string"
          android:titleCondensed="string"
          android:icon="@[package:]drawable/drawable_resource_name"
          android:onClick="method name"
          android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]