当API级别高于10时,不会显示Android菜单图标

时间:2011-11-29 06:50:17

标签: android menu

我正在尝试使用Android中的菜单选项进行测试..我注意到,如果targetSdkVersion大于10,则菜单图标不会显示...

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
   <item android:id="@+id/about" android:title="@string/about_label"
   android:icon="@android:drawable/ic_menu_info_details" android:alphabeticShortcut="a" />
   <item android:id="@+id/help" android:title="@string/help_label"
   android:icon="@android:drawable/ic_menu_help" android:alphabeticShortcut="h" />
</menu>

我正在尝试调试,我不知道从哪里开始。

2 个答案:

答案 0 :(得分:7)

从API Level 11(Android Honeycomb)开始,Android为菜单引入了一个新概念。为该API级别构建的设备不再具有菜单键。按下键后,不再显示菜单,而是有一个新的UI组件:Actionbar。 Actionbar现在显示与空间允许的菜单项一样多的内容,然后创建一个按钮,该按钮将在叠加层中显示其余菜单项。

我会假设您正在为您的活动使用某种主题,以防止Actionbar出现,因此没有可见的菜单项。另请阅读有关如何support Tablets and Handsets开始了解新操作栏如何工作的指南。

答案 1 :(得分:1)

<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="com.ktcmynewapp.MainActivity" >

    <item
        android:id="@+id/action_settings1"
        android:icon="@drawable/image1"`enter code here`
        android:orderInCategory="100"
        android:title="home1"
        app:showAsAction="never">
        <menu>
            <item
                android:id="@+id/action_settings2"
                android:icon="@drawable/image2"
                android:orderInCategory="100"
                android:title="home1"
                app:showAsAction="never"/>
            <item
                android:id="@+id/action_settings3"
                android:icon="@drawable/image3"
                android:orderInCategory="100"
                android:title="home2"
                app:showAsAction="never"/>
        </menu>
    </item>
    <item
        android:id="@+id/action_settings4"
        android:icon="@drawable/image2"
        android:orderInCategory="100"
        android:title="home2"
        app:showAsAction="never"/>

</menu>

在此代码中,外部菜单项显示时没有图标,但内部子菜单项正确显示图标。