我遇到的问题多次发布like here或here。我定义了一个菜单项,它显示在AndroidStudio
的预览中:
但是当我在手机上运行应用程序时,图标(png
图像)不可见,并且有很多可用空间。但是,此“添加”选项会显示在“选项”菜单中(最右侧;与“Srttings”一起显示)。这是我的menu.xml
:
<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_favourite"
android:icon="@mipmap/ic_add"
android:title="@string/menu_add"
android:showAsAction="always"/>
<item android:id="@+id/action_settings" android:title="@string/action_settings"
android:orderInCategory="100" app:showAsAction="never" />
</menu>
我尝试了我能找到的建议,但没有一个能解决我的问题。我的手机是LG G3。我该如何解决这个问题?
其他信息:onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
答案 0 :(得分:8)
只需使用app:showAsAction="always"
和xmlns:app="http://schemas.android.com/apk/res-auto"
即可显示。
<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_favourite"
android:icon="@mipmap/ic_add"
android:title="@string/menu_add"
app:showAsAction="always"/>
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
</menu>
您可能正在使用依赖于应用程序命名空间的支持库。如果有疑问,只需添加两次相同的属性(android:
和app:
名称空间)。
答案 1 :(得分:1)
在onCreate()
添加setHasOptionsMenu(true)
你可能正在夸大错误的菜单文件。