自定义'actionBar选项卡样式'不会覆盖AppCompat主题

时间:2014-02-21 13:38:28

标签: android android-actionbar android-tabs android-appcompat

我正在尝试几个小时来覆盖自定义标签样式的AppCombat主题,但我的更改没有任何效果。这是我的style.xml

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
    <item name="actionBarTabStyle">@style/MyActionBarTabs.AppTheme</item>
</style>

<!-- ActionBar tabs styles -->
<style name="MyActionBarTabs.AppTheme" parent="@style/Widget.AppCompat.ActionBar.TabView">

    <item name="background">@drawable/tab_bar_background</item>
</style>

我使用android-support-libray-v7在较旧的Android版本中使用ActionBarTabStyle。这是tab_bar_background.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states -->
<item android:state_focused="false" android:state_selected="false"
      android:state_pressed="false"
      android:drawable="@color/boni_red" />
<item android:state_focused="false" android:state_selected="true"
      android:state_pressed="false"
      android:drawable="@color/boni_red" />

<!-- Focused states (such as when focused with a d-pad or mouse hover) -->
<item android:state_focused="true" android:state_selected="false"
      android:state_pressed="false"
      android:drawable="@color/boni_red" />
<item android:state_focused="true" android:state_selected="true"
      android:state_pressed="false"
      android:drawable="@color/boni_red" />
<!-- Non focused states -->
<item android:state_focused="false" android:state_selected="false"
      android:state_pressed="true"
      android:drawable="@color/boni_red" />
<item android:state_focused="false" android:state_selected="true"
    android:state_pressed="true"
    android:drawable="@color/boni_red" />

<!-- Focused states (such as when focused with a d-pad or mouse hover) -->
<item android:state_focused="true" android:state_selected="false"
      android:state_pressed="true"
      android:drawable="@color/boni_red" />
<item android:state_focused="true" android:state_selected="true"
      android:state_pressed="true"
      android:drawable="@color/boni_red" />

TabActivity课程中,我只使用TabHost添加了一些标签,此活动的布局如下所示:

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<LinearLayout
    android:id="@+id/TabBarLinearLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView 
        android:id="@+id/header_logo"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:background="@color/boni_red"
        android:text="@string/app_name_capital"
        android:textStyle="bold"
        android:gravity="center"
        android:textSize="25sp"/>

    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1">
    </FrameLayout>

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0">
    </TabWidget>


</LinearLayout>

我刚刚按照android developer page提供的教程。 我的应用程序中的tabbar看起来像图片中的lightbar。 TabBar

为什么我的风格不会覆盖标准风格的任何建议?实际上一切都应该是红色的!我做错了吗? 谢谢和最好的问候, 最大

1 个答案:

答案 0 :(得分:0)

添加以下内容:values-v11(不要忽略'android:')

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarTabStyle">@style/MyActionBarTabs.AppTheme</item>

在styles.xml中修改以下内容(不要忽略'android:')

<item name="android:background">@drawable/tab_bar_background</item>

`