2013-05-08 104 views
1

我的manifest.xml部分如下:操作欄在Android上不顯示

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" /> 
<activity android:name="MyActivity" android:screenOrientation="sensor" android:configChanges="orientation|keyboardHidden" android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" ></activity> 

而在如下MyActivity代碼:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onPrepareOptionsMenu(Menu menu) {  
    menu.clear(); 

MenuInflater i = getMenuInflater(); 
i.inflate(R.menu.my_menu, menu); 

return super.onPrepareOptionsMenu(menu); 

} 

my_menu.xml如下:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/test" android:icon="@drawable/test" android:title="test" android:showAsAction="ifRoom|withText"></item> 
</menu> 

我想讓顯示舊菜單欄,而前sdk 11.
而後顯示操作欄而sdk 11.
現在我可以在sdk 11之前顯示菜單欄,但不顯示sdk 11之後的軟菜單按鈕或操作欄。
我該如何修改它?

+0

這裏是好文章http://android-developers.blogspot.in/2012/01/say-goodbye-to-menu-button.html – 2013-05-08 08:34:45

回答

1

你必須改變

android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" 

android:theme="@android:style/Theme.Light.NoTitleBar" 

而且你在這裏Google - Action Bar

1

從android.developer.com:(http://developer.android.com/guide/topics/ui/actionbar.html

剩餘向後兼容

如果你想在你的應用程序提供一個操作欄,並保持 與Android的版本兼容早於3.0版,您需要在活動佈局中創建 動作欄(因爲ActionBar類 在舊版本中不可用)。

爲了幫助你,操作欄兼容性示例應用程序提供了一個API 層和操作欄的佈局,讓您的應用程序使用一些 動作條的API,並通過更換 傳統的標題欄支持老版本的Android系統自定義操作欄佈局。

這裏是示例代碼,希望這可以幫助你! 樣品:http://developer.android.com/tools/samples/index.html

1

remove從活動這個下面的行,因爲它隱藏動作條

android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"