2011-09-28 132 views
0

我想在我的应用程序中实现一个操作栏。我遵循这个链接的方法http://developer.android.com/guide/topics/ui/actionbar.html如果我保留了tragetSdkversion> = 11,那么它工作正常。但是,如果我添加min sdk version> = 11,则这些按钮将显示为选项菜单的一部分,而不是在操作栏中。出现这种情况的tablet.please帮助安卓操作栏问题

这是我的一部分表现

<uses-sdk android:minSdkVersion="4" 
     android:targetSdkVersion="11"/> 

这是我menu.xml文件

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/edit" 
     android:title="Edit" 
     android:icon="@drawable/icon" 
     android:showAsAction="ifRoom" /> 

    <item android:id="@+id/renarration" 
     android:title="Renarration" 
     android:icon="@drawable/icon" 
     android:showAsAction="ifRoom"/> 

    <item android:id="@+id/renarration1" 
     android:title="Renarration" 
     android:icon="@drawable/icon" 
     android:showAsAction="ifRoom"/> 

    <item android:id="@+id/renarration2" 
     android:title="Renarration" 
     android:icon="@drawable/icon" 
     android:showAsAction="ifRoom"/> 
</menu> 

回答

3

同样link你指它说,

操作栏默认情况下,在针对Android 3.0或更高版本的所有活动包括在内。任何目标为Android 3.0的应用程序都会自动接收此主题。当Android 3.0将元素中的android:minSdkVersion或android:targetSdkVersion属性设置为“11”或更高时,应用程序被视为“定向”Android 3.0。

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.helloworld" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="4" 
      android:targetSdkVersion="11" /> 
<application ... > 
    ... 
</application> 

在这个例子中,应用程序需要API级别4(的Android 1.6)的最低版本,但它也针对API级别11(的Android 3.0)。这样,当应用程序安装在运行Android 3.0或更高版本的设备上时,系统将全息主题应用于每个活动,因此每个活动都包含操作栏。但是,如果要使用Action Bar API(例如添加选项卡或修改Action Bar样式),则需要将android:minSdkVersion设置为“11”,以便可以访问ActionBar类。

+0

也这么想。只是想确认一下。非常感谢。 Dint知道wat完全在actionbar API中。现在我明白了。 – Droidme

0

如果我把tragetSdkversion> = 11,然后它工作正常。但是,如果我添加了 分钟sdk版本> = 11,则这些按钮显示为选项 菜单的一部分,而不是在操作栏中。

=>操作栏仅适用于Android 3.0或更高版本。

你有没有标注清楚写在链接描述你所提到的:

动作栏在面向Android的 3.0或更高

所有活动包括默认你可以在“添加操作栏”部分找到这一行。

更具体地说,所有使用新“全息”主题的活动都包含操作栏,任何面向Android 3.0的应用程序都会自动接收此主题。当Android 3.0将元素中的android:minSdkVersion或android:targetSdkVersion属性设置为“11”或更高时,应用程序被视为“定向”Android 3.0。 (于Android DOC)