主题的哪些属性会影响特定的小部件?

时间:2018-08-02 08:36:30

标签: android android-theme android-styles

假设我们有AppBarLayoutandroid:theme="@style/AppTheme.AppBarOverlay"。 里面有一个工具栏,我们要在其中更改文本颜色。 问题:如何找出应该更改主题的属性?

我使用了只是尝试的愚蠢方法,发现它是

<item name="android:textColorPrimary">@color/colorAccent</item>

但是确定小部件titleTextColor的属性和主题textColorPrimary的属性之间的联系的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

使用toolbar.setTitleTextColor(getResources().getColor(android.R.color.white));或创建ToolbarStyle,例如:

<style name="ToolbarStyle" parent="Theme.AppCompat">
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textColorSecondary">@android:color/white</item>
<item name="actionMenuTextColor">@android:color/white</item>

并将主题添加到工具栏:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:theme="@style/ToolbarStyle"/>