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

Gui*_*ino 6 android android-theme android-styles

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

    <item name="colorAccent">@color/color_blue_dark</item>
Run Code Online (Sandbox Code Playgroud)

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

<style name="DefaultRow">
    <item name="colorAccent">@color/color_sand</item>
    <item name="android:background">?android:attr/activatedBackgroundIndicator</item>
</style>
Run Code Online (Sandbox Code Playgroud)

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

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          ...
          style="@style/DefaultRow"/>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但如果我这样做,它会起作用:

 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
              ...
              android:theme="@style/DefaultRow"/>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

Dan*_*rda 0

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