开发者

Android preference title/summary text style

开发者 https://www.devze.com 2023-03-28 18:34 出处:网络
I have a couple custom preference items -- one that displays a swatch of the currently selected color, and another one that displays a thumbnail.

I have a couple custom preference items -- one that displays a swatch of the currently selected color, and another one that displays a thumbnail.

I have a custom layout for these that matches up very well, and have found that I can make the text appearance match by using android:textAppearance="?android:attr/textAppearanceLarge" as part of the TextView's xml. The problem is, while these generally look fine, they must not be the appearance the 'official' preferences use, since the colors end up wrong on some devices. In particular I'm porting my appl开发者_运维百科ication to the Nook Color, and it uses a light grey background and black text color on the preference screen instead of black background/light grey text. My text color in this situation stays the same, but the rest of my layout is themed appropriately.

I'm really unsure what I'm supposed to do here to make my text match up with the 'official' theme. Should I be using obtainStyledAttributes and running though my layout to set things? The tutorials I've seen on using that so far have been really baffling, and it seems like there must be a textAppearance or style I can set in the XML to fix this.


You've to define your own application theme which inherits from the official theme you want. Actually, you can just define a theme MyTheme extending the Theme.Light for example.

Create an res/values/styles.xml file like that:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyTheme" parent="@android:style/Theme.Light">
    </style>
</resources>

Then, you just have to apply your theme using the android:theme attribute of the application entity of your AndroidManifest.xml:

<application android:theme="@style/MyTheme">
    [...]
</application>
0

精彩评论

暂无评论...
验证码 换一张
取 消