私はいくつかの PreferenceCheckBoxes を備えた PreferenceScreen を持っています。タイトルと概要の textColor と textSize を変更し、CheckBox のチェックとチェックを外した画像を変更したいと考えています。したがってandroid:layout
、この属性を変更するために使用しています。
私のチェックボックス設定:
<CheckBoxPreference
android:layout="@layout/preference_checkbox"
android:key="temp"
android:title="@string/title"
android:summary="@string/summary"
android:defaultValue="true"
/>
使っandroid:widgetLayout
てみると変な感じ。そして、これは私のpreference_checkbox.xmlです:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
>
<TextView
android:id="@+android:id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/gray"
android:textSize="20sp"
/>
<TextView
android:id="@+android:id/summary"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/gray"
android:textSize="14sp"
/>
</LinearLayout>
<CheckBox
android:id="@+android:id/checkbox"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
/>
</RelativeLayout>
ID 付きのタイトルと 付き@+android:id/title
の概要は、@+android:id/summary
正しい値を示しています。ただし、デフォルト値とIDにもかかわらず、チェックボックス@+android:id/checkbox
は正しく機能していません。正しい値が表示されず、設定に保持されている値を変更できません。レイアウトを使用せずに、CheckBoxPreference 全体でタッチすることでチェックボックスの値を変更できます。しかし、今(私のレイアウトでは)このチェックボックスに触れるだけでチェックボックスの値を変更できます。すべての機能を使用して CheckBoxPreference のレイアウトを適切に作成するにはどうすればよいですか?