我希望菜单项显示在操作栏上。 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>
答案 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>