自定义首选项中匹配默认颜色

问题描述:

我有一个基本上是滑块的自定义首选项。 首选项滑块的自定义XML可用于设置文本颜色,但我需要将文本颜色与设备使用的默认颜色进行匹配。标题颜色看起来很好,只是使用默认(与另一个CheckBoxPreference标题相同,或者它看起来)。摘要颜色也使用默认颜色(与标题相同),但我希望它与CheckBoxPreference的摘要文本的默认颜色相匹配,该正文在XML上方定义。自定义首选项中匹配默认颜色

我可以从CheckBoxPreference中获取摘要文本的颜色,只需将自定义首选项的摘要文本颜色更改为匹配CheckBoxPreference摘要颜色,或者是否存在我可以使用的全局(R.attr.xxxxxxxx其他)使用所有设备上存在的?例如,我有一个不指定标题或摘要颜色的复选框首选项 - 因此它使用默认颜色方案(但该颜色方案看起来像标题匹配,但是自定义首选项中的摘要文本(来自xml)与标题颜色相同,但不是默认摘要颜色作为默认首选项))。

我的自定义滑块(具有标题和摘要字段)需要将这两个字段的默认OS颜色与这些条目的设备默认颜色方案(标题&摘要)相匹配。

  1. 如何在未指定颜色时获取为checkbox首选设置的默认设备颜色?

  2. 如何将该颜色分配给我的自定义首选项,该首选项具有自定义自定义首选项视图的xml文件。

希望这是非常有意义的,如果没有,我会详细说明一点。自定义偏好

偏好定义(这是在它的XML进一步定义):

<com.xxx.sbp.SeekBarPref 
    android:id="@+id/xmlpreference_seekbar" 
    android:key="preference_seekbar" 
    android:title="Seek Bar Pref" 
    android:summary="Choose seconds" 
    android:defaultValue="20" 
    android:max="300" 
    sbp:min="10" 
    sbp:interval="10" 
    sbp:intervaldivide="10" 
    sbp:unitsLeft="" 
    sbp:unitsRight="s" /> 

我发现这些:android:textAppearance="?android:attr/textAppearanceLarge"android:textAppearance="?android:attr/textAppearanceSmall"似乎做的伎俩。

+0

onCreateView方法与这些线路解决了这个问题,我给这一个镜头,假设也许他们包括颜色,而不仅仅是文本外观。当我知道时会回复。谢谢。 – 2012-01-01 18:01:00

+1

这并不能解决问题,它对摘要属性的文本颜色没有任何影响。 – 2012-01-02 21:08:40

一个复杂的解决方案是在Android preferences summary default color?

我与受访者同意上面的既不textAppearance设置将保证颜色匹配给出。

首选项摘要文本的默认颜色似乎为#DACC45。我这样做的方式是拍摄屏幕快照并使用图像编辑器查询彩色像素。

我有同样的问题,我已经在seekBarPreference.java

TextView summaryText = new TextView(getContext()); 
summaryText.setText(getSummary()); 
summaryText.setTextAppearance(getContext(), android.R.style.TextAppearance_Small);