我正在尝试显示从官方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);
}
一切似乎都很好,但图标不会在模拟器上显示。这是一个截图:
最低版本是android 3.0
为什么图标没有显示?我错过了什么?我知道它确实很小,但我无法发现它。
答案 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”或旋转屏幕。看看图标是否以这种方式出现。