2013-05-08 87 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"