2013-05-07 7 views
0

Я новичок в программировании на Android, и я узнал, что меню недоступно для Android 3.0 и выше. И предложения - использовать панель действий. Таким образом, у меня есть следующий в моем AndroidManifest.xmlОтображение панели действий Android

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="Main" 
     android:label="@string/app_name" 
     android:configChanges="orientation|keyboardHidden|screenSize"> 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

В моей main.xml для бара меню/действия:

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

    <item 
     android:id="@+id/homeMenu" 
     android:orderInCategory="100" 
     android:title="@string/home" android:showAsAction="ifRoom"/> 

    <item 
     android:id="@+id/searchMenu" 
     android:orderInCategory="200" 
     android:title="@string/search" android:showAsAction="ifRoom"/> 

    <item 
     android:id="@+id/exitMenu" 
     android:orderInCategory="300" 
     android:title="@string/exit" android:showAsAction="ifRoom"/> 

</menu> 

Но это только дисплей названия активности в панели действий для Android ICS. Я хочу, если это возможно, иметь меню для Android < 3.0 и Action Bar для Android 3.0 и выше. Или если для этого есть лучший подход.

меня onCreateOptionsMenu в моей основной деятельности:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

Меню отлично работает для Android 2.3.6, но Bar Action не показывать, как я ожидал Android ICS.

Благодаря

+1

у делать и хотят, чтобы сделать это ... и можно использовать ActionBar во всех версиях Android, используя [ActionBarSherlock] (HTTP://actionbarsherlock.com) – bakriOnFire

ответ

2

Если вы хотите последовательный взгляд через Android версию вы действительно должны смотреть в ActionBarSherlock

«Библиотека будет автоматически использовать панель нативные действий в случае необходимости или автоматически обернуть пользовательскую реализацию вокруг ваших макетов Это позволяет вам легко разрабатывать приложение с панелью действий для каждой версии Android от 2.x и выше ».

1

попробовать это

android:showAsAction="always" 

вместо

android:showAsAction="ifRoom" 
+0

ничего не произошло. –

+0

вы можете разместить java-код? – user2260168

Смежные вопросы