在app compat v21中对TextAppearance样式感到困惑

时间:2014-11-08 19:48:01

标签: android android-theme

当我在我的应用中使用appcompat v21 Light.DarkActionBar主题时,我有:

如果我使用?android:textAppearanceMedium我的文字有灰色颜色

如果我使用@android:style/TextAppearance.Medium我的文字有黑色颜色

这两者有什么区别?根据定义,我认为它们应该是相同的,第二个只是更明确地表达第一个?

1 个答案:

答案 0 :(得分:6)

主题属性?android:attr/textAppearanceMedium由当前主题设置为指向样式资源。在主题和主题。轻,它指向@android:style/TextAppearance.Medium。在Theme.AppCompat主题上,它指向@android:style/TextAppearance.AppCompat.Medium

因此,当您的应用定位到Theme.AppCompat时明确指向@android:style/TextAppearance.Medium时,您将获得适用于Gingerbread主题应用的文本外观样式。如果您使用?android:attr/textAppearanceMedium代替,则会获得适合您当前主题的样式。