2015-07-02 3 views
3

Вот мой пользовательский файл темы:Android - Материал Тема - Изменение colorAccent для всего активной вкладки

<style name="MyMaterial" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorPrimary">#4CAF50</item> 
    <item name="colorPrimaryDark">#4CAF50</item> 
    <item name="colorAccent">#FFFFFF</item> 
</style> 

Проблема заключается в том, я хочу #FFFFFF только для активной вкладки подчеркивания (например, желтого this), но а не другие элементы управления, такие как флажок активирован. Каков наилучший/правильный способ сделать это?

Боковые вопросы: - По умолчанию вкладки имеют вертикальные разделители. Как удалить их, как на картинке выше? - Как добавить тень под вкладками, как на картинке выше?

Спасибо.

ответ

1

По умолчанию TabLayout, часть Android Design Support Library принимает цвет индикатора вкладки из colorAccent, но вы также можете использовать app:tabIndicatorColor установить другой цвет конкретно на TabLayout (и не включают в себя желтый в качестве акцента цвета в вашей теме):

<android.support.design.widget.TabLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:tabIndicatorColor="#FFFFFF" /> 

TabLayout does not have any separator lines, as per the [material design spec][3]. The shadow is added via elevation - if you include your TabLayout` в вашем AppBarLayout вы получите возвышении на Android 5.0 и выше устройств.

+0

Куда я должен положить вышеуказанный код? Мой файл темы находится под/res/values ​​/. – Shawn

+0

В вашем макете, который включает в себя «TabLayout», обязательно прочитайте сообщение в блоге, связанное с помощью [Android Support Library] (http://android-developers.blogspot.com/2015/05/android-design-support -library.html), если вы уже не используете его. – ianhanniballake

Смежные вопросы