0

基本的にスライダーであるカスタム設定があります。設定スライダーのカスタム XML を使用してテキストの色を設定できますが、テキストの色をデバイスが使用する既定値に一致させる必要があります。タイトルの色は問題ないようです。デフォルトを使用するだけです (別の CheckBoxPreference タイトルと同じか、そのように見えます)。概要の色もデフォルトの色 (タイトルと同じ) を使用していますが、XML でそのすぐ上に定義されている CheckBoxPreference の概要テキストのデフォルトの色と一致させたいと考えています。

CheckBoxPreference から概要テキストの色を取得し、カスタム設定の概要テキストの色を CheckBoxPreference の概要色と一致するように変更することはできますか、それとも存在する使用可能なグローバル (R.attr.xxxxxxxx は何でも) がありますか?すべてのデバイス?

たとえば、タイトルまたは概要の色を指定しないチェックボックス設定があります。したがって、デフォルトの配色が使用されます (ただし、この配色はタイトルと一致するように見えますが、カスタム設定の概要テキスト (xml から) はタイトルの色と同じですが、デフォルトの設定としてのデフォルトの要約の色ではありません))。

カスタム スライダー (タイトル フィールドとサマリー フィールドがある) は、これら 2 つのフィールドの既定の OS カラーを、それらのエントリ (タイトルとサマリー) のデバイスの既定の配色に一致させる必要があります。

  1. 色が指定されていない場合、checkboxpreference に設定されているデフォルトのデバイスの色を取得するにはどうすればよいですか?

  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" />   
4

4 に答える 4

2

私はこれらを見つけました:android:textAppearance="?android:attr/textAppearanceLarge"そしてandroid:textAppearance="?android:attr/textAppearanceSmall"、トリックをしているようです。

于 2011-12-31T06:37:45.540 に答える
0

プリファレンスサマリーテキストのデフォルトの色はであるように見えます#DACC45。私がこれを行った方法は、画面のスナップショットを取り、画像エディタで色付きのピクセルをクエリすることでした。

于 2012-08-28T15:34:10.040 に答える
0

複雑な解決策は、Android の設定の概要の既定の色で指定されていますか?

textAppearance 設定のどちらも色の一致を保証しないという上記の回答者に同意します。

于 2012-03-14T03:26:19.610 に答える
0

私は同じ問題を抱えていて、これらの行で次のonCreateView方法で解決しましたseekBarPreference.java

TextView summaryText = new TextView(getContext());
summaryText.setText(getSummary());
summaryText.setTextAppearance(getContext(), android.R.style.TextAppearance_Small);
于 2014-12-06T18:50:42.317 に答える