无法在操作栏中显示图标

时间:2014-04-18 07:40:02

标签: java android xml android-activity android-actionbar

我正在尝试显示从官方Android开发者源代码下载的地图图标。

我做了应有的一切,但图标不会显示。 这是我的名为main_activity_bar的xml文件:

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

    <item
        android:id="@+id/mapIcon"
        android:icon="@drawable/ic_action_map"
        android:title="@string/mapIconTitle"
        android:showAsAction="always"
     />

</menu>

以下是主要活动xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.gs.testApp.MainActivity"
    tools:ignore="MergeRootFrame" />

这就是我在java类中所拥有的:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater actionMenue = getMenuInflater();
        actionMenue.inflate(R.menu.main_activity_bar, menu);
        return super.onCreateOptionsMenu(menu);
    }

一切似乎都很好,但图标不会在模拟器上显示。这是一个截图:

enter image description here

最低版本是android 3.0

为什么图标没有显示?我错过了什么?我知道它确实很小,但我无法发现它。

2 个答案:

答案 0 :(得分:2)

以下是我修复它的方法 - 以防有人面临同样的问题。

我改变了

android:showAsAction="always"app:showAsAction="always",我还放置了图标顺序android:orderInCategory="0"和自动结果xmlns:app="http://schemas.android.com/apk/res-auto",所以现在我的xml看起来像:

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

    <item
        android:orderInCategory="0"
        android:id="@+id/mapIcon"
        android:icon="@drawable/ic_action_map"
        android:title="@string/mapIconTitle"
        app:showAsAction="always"
     />

</menu>

答案 1 :(得分:0)

我不认为溢出菜单中会显示一个图标。尝试将标题更改为“t”或旋转屏幕。看看图标是否以这种方式出现。