我有几个自定义偏好项 - 一个显示当前所选颜色的样本,另一个显示缩略图。
我有一个匹配得很好的自定义布局,并且发现我可以通过使用android:textAppearance =“?android:attr / textAppearanceLarge”作为TextView的xml的一部分来使文本外观匹配。问题是,虽然这些看起来很好,但它们不一定是“官方”偏好使用的外观,因为某些设备上的颜色最终会出错。特别是我将我的应用程序移植到Nook Color,它在首选项屏幕上使用浅灰色背景和黑色文本颜色,而不是黑色背景/浅灰色文本。在这种情况下我的文字颜色保持不变,但我的布局的其余部分都是相应的主题。
我真的不确定我应该在这里做些什么来让我的文字与'官方'主题相匹配。我应该使用obtainStyledAttributes并运行我的布局来设置东西吗?到目前为止我看到的使用过的教程实在令人费解,似乎必须有一个textAppearance或样式我可以在XML中设置来解决这个问题。
答案 0 :(得分:0)
您需要定义自己的应用程序主题,该主题继承自您想要的官方主题。实际上,您可以定义一个主题MyTheme
,例如扩展Theme.Light
。
创建一个res/values/styles.xml
文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="@android:style/Theme.Light">
</style>
</resources>
然后,您只需使用android:theme
的{{1}}实体的application
属性来应用主题:
AndroidManifest.xml