如何在操作栏中显示菜单项?

时间:2016-04-15 23:30:27

标签: android android-actionbar android-menu

我希望菜单项显示在操作栏上。 ActionBar上有很多空间,但它们仍然没有显示出来。每个项目显示为三个点,为什么?

.java文件

public class GalleryActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.gallery_layout);
    }

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

.xml文件

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

        <item
            android:id="@+id/facebookId"
            android:title="facebook"
            android:icon="@drawable/facebook"
            MissionAndroid:showAsAction="always"/>

        <item
            android:id="@+id/shareId"
            android:title="share"
            android:icon="@drawable/share"
            MissionAndroid:showAsAction="always"/>

        <item
            android:id="@+id/delete"
            android:title="delete"
            android:icon="@drawable/delete"
            MissionAndroid:showAsAction="always"/>

        <item
            android:id="@+id/searchId"
            android:title="search"
            android:icon="@drawable/search"
            MissionAndroid:showAsAction="ifRoom"/>
    </menu>

1 个答案:

答案 0 :(得分:2)

目前,您正在使用"http://schemas.android.com/tools",它不提供您正在寻找的功能,并且您的showAsAction修饰符被忽略。

尝试使用以下内容更新main_menu.xml:

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

    ...

</menu>

更好的是,要遵循惯例,请使用MissionAndroid替换此文件中的app

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

    <item
        android:id="@+id/facebookId"
        android:title="facebook"
        android:icon="@drawable/facebook"
        app:showAsAction="always"/>

    ...

</menu>