我正在构建一个Android应用程序,该应用程序的ActionBar中有一个图标,如下所示:
我正在严格按照Android文档和教程中的内容进行操作,而我的结果只是任何屏幕尺寸/分辨率的文本:
我正在执行以下操作:-> MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
-> main_activity_actions.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:showAsAction="ifRoom" />
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
</menu>
我将图标放在
*/res/drawable-*
中,它可以识别,但在菜单中仅显示为文本。如您所见,我明确指定了android:icon="@drawable/ic_action_search"
,而我仅收到"Search"
。我该怎么办?我正在使用API级别16。 最佳答案
托尼
按照操作栏指南:
http://developer.android.com/guide/topics/ui/actionbar.html#ActionItems,我们必须使用app:showAsAction =“ ifRoom”或app:showAsAction =“ always”。如果您必须不惜一切代价显示搜索图标,请使用showAsAction =“ always”,尽管您的名字很长,但如果您的应用程序名称没有空间,它将被圆点截断
请检查我的xml文件,该文件有两个额外的命名空间,它们将帮助您使用app:showAsAction。