繁体   English   中英

图标未在ActionBar中显示

[英]Icon is not shown in ActionBar

我正在构建一个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。

您的标题可能太长,无法与android:showAsAction="ifRoom"一起使用,请尝试使用android:showAsAction="always"尽管这可能会导致您的标题被切断。

托尼

按照操作栏指南:

http://developer.android.com/guide/topics/ui/actionbar.html#ActionItems ,我们必须使用app:showAsAction =“ ifRoom”或app:showAsAction =“ always”。 如果您必须不惜任何代价显示搜索图标,请使用showAsAction =“ always”,尽管您的名字很长,但如果您的应用程序名称没有空间,它将被点号截断

仅供参考,请检查我的示例应用

在此处输入图片说明

请检查我的xml文件,该文件具有两个额外的命名空间,这些命名空间将帮助您使用app:showAsAction。

我认为您在这种情况下使用的是Actionbar Compat,则必须添加此名称空间xmlns:support="http://schemas.android.com/apk/res-auto" ,然后再添加以下支持:showAsAction =“ always” menu.xml应该像这样

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:support="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/action_search"
        android:icon="@drawable/ic_action_search"
        android:title="@string/action_search"
        support:showAsAction="ifRoom" />
    <item android:id="@+id/action_settings"
        android:title="@string/action_settings"
        support:showAsAction="never" />
</menu>

并且“支持”仅用于命名空间,您也可以使用其他单词,例如“ app”等

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM