2011-11-29 7 views
5

Próbuję przetestować coś z opcjami menu w systemie Android. Zauważyłem, że ikony menu nie są wyświetlane, jeśli targetSdkVersion jest większe niż 10 ...Ikony menu systemu Android nie są wyświetlane, gdy poziom interfejsu API jest wyższy niż 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> 

Próbuję debugować i nie jestem pewien, od czego zacząć.

Odpowiedz

7

Począwszy od poziomu API 11 (Android Honeycomb) Android wprowadził nową koncepcję menu. Urządzenia zbudowane dla tego poziomu interfejsu API nie mają już klawisza menu. Zamiast pokazywania menu po naciśnięciu klawisza pojawia się nowy składnik interfejsu użytkownika: . Pasek narzędzi pokazuje teraz tyle elementów menu, ile pozwala na to miejsce, a następnie tworzy przycisk, który pokaże pozostałe elementy menu w nakładce.

Założę, że używasz jakiegoś motywu do swojej aktywności, który zapobiega pojawianiu się paska czynności, a zatem żadne elementy menu nie są widoczne. Przeczytaj także poradnik na temat tego, jak support Tablets and Handsets zacząć rozumieć, jak działa nowy pasek akcji.

0
<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> 

W tym kodzie elementy menu zewnętrznego są wyświetlane bez ikon, ale elementy podmenu wewnętrznego są prawidłowo wyświetlane za pomocą ikon.