настраиваемый макет вкладки темы - PullRequest
0 голосов
/ 20 октября 2018

Я хочу применить пользовательские темы к макету вкладки, но не могу заставить его работать, у меня есть пара условий:

  1. Это не должно быть программно, яхочу иметь возможность вызывать setTheme в самом начале моей деятельности или фрагмента и не выполнять никакой другой работы

  2. Тема должна быть настроена в темах и быть изменяемой, так как у меня 6 темнекоторые из них светлые, а некоторые темные

ЧТО Я ТЕКУЩАЯ В ТЕЧЕНИИ ПЫТАЮСЬ

То, что я пытался сделать, установленосоздайте тему в моем файле styles.xml, а затем создайте меньшие темы для разных виджетов, которые я могу зарегистрировать в своем основном стиле, например, родственные отношения с родным братом, так что вот моя голубая тема / стиль (родительский)

<style name="MyAppBlueTheme" parent="Theme.AppCompat">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/primary_blue</item>
    <item name="colorPrimaryDark">@color/primary_dark_blue</item>
    <item name="colorAccent">@color/accent_blue</item>
    <item name="android:textColor">@color/primary_text_blue</item>
    <item name="android:colorBackground">@color/background_light</item>
    <item name="android:tabWidgetStyle">@style/Blue.TabLayout</item>
</style>

Здесь я объявляю tabWidgetStyle как Blue.TabLayout как своего рода брат, вот как выглядит этот стиль макета вкладки (брат)

<style name="Blue.TabLayout" parent="Base.Widget.Design.TabLayout">
    <item name="tabSelectedTextColor">@color/selected_textBlue</item>
    <item name="tabIndicatorColor">@color/accent_blue</item>
    <item name="tabBackground">@color/primary_blue</item>
</style>

И у него есть собственный брат для текста

<style name="CustomTabTexStyleBlue" parent="TextAppearance.Design.Tab">
    <item name="android:textColor">@color/primary_text_blue</item>
</style>

Я установил тему, используя setTheme вначало моей деятельности или фрагмента и все остальное выглядит хорошо, за исключением моего макета вкладок, который выглядит прозрачным, может кто-нибудь дать мне некоторое представление о том, что здесь происходит, пожалуйста

...