Android操作栏问题

时间:2011-09-28 08:01:59

标签: android user-interface android-layout

我正在尝试在我的应用中实现操作栏。我按照此链接中的方法http://developer.android.com/guide/topics/ui/actionbar.html如果我保留tragetSdkversion> = 11,那么它可以正常工作。但是,如果我添加min sdk版本> = 11,则按钮会显示为选项菜单的一部分,而不会显示在操作栏中。这适用于tablet.please help

这是我的清单

的一部分
<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 个答案:

答案 0 :(得分:3)

在您所指的同一link中,

默认情况下,操作栏包含在所有针对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 Level 4(Android 1.6),但它也针对API Level 11(Android 3.0)。这样,当应用程序安装在运行Android 3.0或更高版本的设备上时,系统会将全息主题应用于每个活动,因此,每个活动都包含操作栏。

但是,如果要使用Action Bar API,例如添加选项卡或修改Action Bar样式,则需要将android:minSdkVersion设置为“11”,以便可以访问ActionBar类。

答案 1 :(得分:0)

  

如果我保持tragetSdkversion&gt; = 11,那么它工作正常。但如果我补充一下   min sdk version&gt; = 11然后按钮显示为选项的一部分   菜单,而不是在操作栏中。

=&GT; 仅在Android 3.0或更高版本中可以使用操作栏。

你有没有在你提到的链接中清楚地标明描述:

  

默认情况下,操作栏包含在所有目标活动中   Android 3.0或更高版本

您可以在“添加操作栏”部分找到此行。

更具体地说,所有使用新“全息”主题的活动都包含Action Bar,任何针对Android 3.0的应用程序都会自动接收此主题。当一个应用程序将元素中的android:minSdkVersion或android:targetSdkVersion属性设置为“11”或更高时,它被认为是“目标”Android 3.0。 (来自Android doc)

答案 2 :(得分:0)

最新的Android支持库(18)现在支持ActionBars返回API 7(2.1)。它包含在android.support.v7.appcompat中。有关详细信息,请参阅Android Support LibraryActionBarActivity