Android首选项标题/摘要文字样式

Ter*_*lla 6 layout android coding-style preference

我有几个自定义首选项 - 一个显示当前所选颜色的样本,另一个显示缩略图.

我有一个匹配得很好的自定义布局,并且发现我可以通过使用android:textAppearance ="?android:attr/textAppearanceLarge"作为TextView的xml的一部分来使文本外观匹配.问题是,虽然这些看起来很好,但它们不一定是"官方"偏好使用的外观,因为某些设备上的颜色最终会出错.特别是我将我的应用程序移植到Nook Color,它在首选项屏幕上使用浅灰色背景和黑色文本颜色,而不是黑色背景/浅灰色文本.在这种情况下我的文字颜色保持不变,但我的布局的其余部分是相应的主题.

我真的不确定我应该做什么来让我的文字与'官方'主题相匹配.我应该使用obtainStyledAttributes并运行我的布局来设置东西吗?到目前为止我看到的使用它的教程真是令人费解,似乎必须有一个textAppearance或样式我可以在XML中设置来解决这个问题.

Sam*_*OZE 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>
Run Code Online (Sandbox Code Playgroud)

然后,您只需使用您的实体android:theme的属性来应用您的主题:applicationAndroidManifest.xml

<application android:theme="@style/MyTheme">
    [...]
</application>
Run Code Online (Sandbox Code Playgroud)