Тематическая панель Android ActionBar: изменение фона панели вкладок

Я следовал этому руководству, чтобы оформить панель действий. Я использую фиксированные вкладки в своем приложении, поэтому я хочу настроить вкладки тоже.
(Примечание: я использую тему appcompat, чтобы обеспечить некоторую обратную совместимость)

Так что я использовал

<style
    name="CustomTheme"
    parent="@style/Theme.AppCompat.Light" >

    <item name="android:actionBarStyle">@style/CustomActionBar</item>
    <item name="actionBarStyle">@style/CustomActionBar</item>

    <item name="android:actionBarTabStyle">@style/CustomActionBarTabs</item>
    <item name="actionBarTabStyle">@style/CustomActionBarTabs</item>
</style>

как моя тема.

Я установил фон ActionBar без проблем, но затем я попытался настроить вкладки с помощью:

<style
    name="CustomActionBarTabs"
    parent="@style/Widget.AppCompat.ActionBar.TabView" >

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

Фон указывает на StateList, где я установил разные drawables для разных контекстов, который работает как и ожидалось. За исключением того, что это работает только для вкладок. Не для панели действий.

Разделитель и фон панели вкладок не имеют тематики.
Как их оформить? (Серая часть)

пример изображения

Руководство по созданию темы

Интересно, есть ли рекомендации по созданию темы, которая хорошо выглядит?
(хорошо = похоже на тему по умолчанию, поэтому приложение вписывается в экосистему Android)

изображение темы по умолчанию

Потому что, если вы внимательно посмотрите на темы по умолчанию, вы увидите небольшую линию в нижней части рисуемого ActionBar. (Та часть, которая в моей теме выделена светло-зеленым цветом)
Могут быть и другие вещи, которые вы должны учитывать при создании темы, похожей на темы по умолчанию, поэтому было бы неплохо дать некоторые рекомендации.

Кроме того: должен ли TabBar всегда быть темнее, чем ActionBar?
(Если да, то насколько темнее?)

Насколько ярче/темнее цвета ActionBar должен быть цвет изображения (например, цвет кнопки переполнения на изображении)?

Заранее спасибо,
Уриэль




Ответы (2)


Добавь это

<style
name="CustomTheme"
parent="@style/Theme.AppCompat.Light" >
.
.
.
<item name="android:actionBarTabBarStyle">@style/TabBar</item>
</style>

А потом

<style name="TabBar" parent="@style/Widget.AppCompat.ActionBar.TabBar">
    <item name="android:background">/** Whatever color you want, like #ffff00 **/</item>
</style>
person Ibrahim Radwan    schedule 31.05.2014

На всякий случай, может кому пригодится

Это ниже сработало для меня

<style name="Theme" parent="Theme.AppCompat.Light.DarkActionBar">

        <item name="actionBarTabStyle">@style/Theme.MyActionBarTab</item>
        <item name="actionBarTabTextStyle">@style/Theme.MyActionBarTabText</item>

    </style>


<style name="Theme.MyActionBarTab" parent="@style/Widget.AppCompat.ActionBar.TabView">
        <item name="android:background">@color/gray_mask</item>

    </style>


<style name="Theme.MyActionBarTabText" parent="Widget.AppCompat.Light.ActionBar.TabText">
        <item name="android:textColor">@color/black</item>
        <item name="android:textSize">@dimen/size_28</item>
        <item name="android:gravity">center</item>
        <item name="textAllCaps">false</item>

    </style>
person praveenb    schedule 18.07.2017