理解主题和样式属性之间的区别

时间:2015-08-06 16:58:47

标签: android android-theme android-styles

我正在处理Android L颜色定义以定义ListView的行。我有一个主题:

    <item name="colorAccent">@color/color_blue_dark</item>

在我的行中,我定义了另一个:

<style name="DefaultRow">
    <item name="colorAccent">@color/color_sand</item>
    <item name="android:background">?android:attr/activatedBackgroundIndicator</item>
</style>

假设colorAccent值将被覆盖。但如果我在我的行中,那就没有了:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          ...
          style="@style/DefaultRow"/>

enter image description here

但是如果我这样做的话会有效:

 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
              ...
              android:theme="@style/DefaultRow"/>

enter image description here

区别是什么?在应用主题时是否定义colorAccent而不是稍后重写?如何解决这个问题具有逆向兼容性?

1 个答案:

答案 0 :(得分:0)

TextView没有colorAccent属性。这是一个主题属性。