我有一些 PreferenceCheckBoxes 的 PreferenceScreen。我想更改标题和摘要的 textColor 和 textSize 以及选中和取消选中 CheckBox 的图像。所以我android:layout
用来改变这个属性。
我的 CheckBoxPreference:
<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 进行布局?