当我在我的应用中使用appcompat v21
Light.DarkActionBar
主题时,我有:
如果我使用?android:textAppearanceMedium
我的文字有灰色颜色
如果我使用@android:style/TextAppearance.Medium
我的文字有黑色颜色
这两者有什么区别?根据定义,我认为它们应该是相同的,第二个只是更明确地表达第一个?
答案 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
代替,则会获得适合您当前主题的样式。