Tengo PreferenceScreen con algunas PreferenceCheckBoxes. Quiero cambiar textColor y textSize por título y resumen, y las imágenes de CheckBox se verifican y desmarcan. Entonces estoy usando android:layout
para cambiar estos atributos.CheckBoxPreference con diseño propio
Mi ChceckBoxPreference:
<CheckBoxPreference
android:layout="@layout/preference_checkbox"
android:key="temp"
android:title="@string/title"
android:summary="@string/summary"
android:defaultValue="true"
/>
Cuando uso android:widgetLayout
se ve extraño. Y esta es mi 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>
título con id @+android:id/title
y resumen con @+android:id/summary
están mostrando valores correctos. Sin embargo, la casilla de verificación a pesar del valor predeterminado e id @+android:id/checkbox
no funciona correctamente. No muestra el valor correcto y no puedo cambiar el valor guardado en las preferencias. Sin usar ningún diseño, puedo cambiar el valor de la casilla de verificación táctil en toda CheckBoxPreference. Pero ahora (con mi diseño) puedo cambiar el valor de la casilla solo tocando en esta casilla de verificación. ¿Cómo puedo hacer el diseño de CheckBoxPreference de manera adecuada con todas las funcionalidades?
Ver http://stackoverflow.com/questions/3569412/customize-check-box-preference, establecer y hacer clic enfocable en false para su casilla – devisnik
@devisnik la OP está hablando de cambiar todo el diseño detrás de la preferencia, la solución que señaló solo se trata de la casilla –
La respuesta de devisnik debe ser la correcta. Esos ajustes son necesarios para efectuar un cambio en el valor de preferencia. – user1608385