【问题标题】:Matching default color in custom preference匹配自定义首选项中的默认颜色
【发布时间】:2011-12-30 01:10:18
【问题描述】:

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

我是否可以从 CheckBoxPreference 中获取摘要文本的颜色,然后更改自定义首选项的摘要文本颜色以匹配 CheckBoxPreference 摘要颜色,或者是否有可以使用的全局(R.attr.xxxxxxxx)存在于所有设备上?

例如,我有一个未指定标题或摘要颜色的复选框首选项 - 因此,它使用默认配色方案(但此配色方案 看起来 与标题匹配,但摘要文本在自定义首选项(来自 xml)中与标题颜色相同,但不是默认摘要颜色作为默认首选项)。

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

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

  2. 如何将该颜色分配给我的 custom 首选项,它有自己的 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 xml colors preference


    【解决方案1】:

    我发现这些:android:textAppearance="?android:attr/textAppearanceLarge"android:textAppearance="?android:attr/textAppearanceSmall" 似乎可以解决问题。

    【讨论】:

    • 我会试一试,假设它们可能包括颜色而不仅仅是文本外观。当我知道时会回复。谢谢。
    • 这并不能解决问题,它对摘要属性的文本颜色没有任何改变。
    【解决方案2】:

    Android preferences summary default color?中给出了一个复杂的解决方案

    我同意上述受访者的观点,即 textAppearance 设置都不能保证颜色匹配。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        我遇到了同样的问题,我已经用onCreateViewseekBarPreference.java 的方法中的这些行解决了它

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-08-10
          • 2011-12-18
          • 1970-01-01
          • 1970-01-01
          • 2015-01-29
          • 1970-01-01
          • 2011-10-14
          • 1970-01-01
          相关资源
          最近更新 更多