CheckBoxPreference con diseño propio
Tengo PreferenceScreen con algunos PreferenceCheckBoxes. Quiero cambiar el textColor y el textSize para el título y el resumen y las imágenes para el checkbox comprobado y uncheckes. Así que estoy usando android:layout
para cambiar estos atributos.
Mi ChceckBoxPreference:
- Mailto de preferencias xml posible?
- ¿Es la lectura / escritura preferencias una operación costosa?
- ¿Cómo puedo mostrar un Diálogo de un PreferenceFragment?
- ¿Dónde debe llamar a PreferenceManager.setDefaultValues?
- ¿Cuál es el nombre de archivo utilizado por defecto las preferencias compartidas?
<CheckBoxPreference android:layout="@layout/preference_checkbox" android:key="temp" android:title="@string/title" android:summary="@string/summary" android:defaultValue="true" />
Cuando uso android:widgetLayout
parece extraño. Y este es mi preferencia_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 está funcionando correctamente. No muestra el valor correcto y no puedo cambiar el valor guardado en las preferencias. Sin usar ninguna disposición, puedo cambiar el valor de la casilla de verificación por el tacto en el CheckBoxPreference entero. Pero ahora (con mi diseño) puedo cambiar el valor de la casilla de verificación sólo por toque en esta casilla de verificación. ¿Cómo puedo hacer el diseño de CheckBoxPreference de manera adecuada con todas las funcionalidades?
- Uso de la preferencia de lista en Android
- Android: No se ha encontrado actividad para manejar el error de intención? Cómo va a resolver
- Android: ¿Cómo puedo guardar, borrar y restaurar SharedPreferences para la prueba de unidades?
- ¿Cómo se declara el tipo de preferencia de Android?
- Pantalla de Preferencias de Android sin XML
- Respondiendo a las actualizaciones de preferencias en Android
- Escribir a las preferencias compartidas es demasiado lento?
- Abrir EditTextPreference a través del código (programatically)
Pruebe esto como preference_checkbox.xml
<?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2006 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- Layout for a Preference in a PreferenceActivity. The Preference is able to place a specific widget for its particular type in the "widget_frame" layout. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical" android:paddingRight="?android:attr/scrollbarSize"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15dip" android:layout_marginRight="6dip" android:layout_marginTop="6dip" android:layout_marginBottom="6dip" android:layout_weight="1"> <TextView android:id="@+android:id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceLarge" android:ellipsize="marquee" android:fadingEdge="horizontal" android:textColor="#FF0000" /> <TextView android:id="@+android:id/summary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@android:id/title" android:layout_alignLeft="@android:id/title" android:textAppearance="?android:attr/textAppearanceSmall" android:maxLines="4" /> </RelativeLayout> <!-- Preference should place its actual preference widget here. --> <LinearLayout android:id="@+android:id/widget_frame" android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center_vertical" android:orientation="vertical" /> </LinearLayout>
- PhoneGap + jQueryMobile: El botón de retroceso de Android cierra la aplicación en la lista anidada
- ¿Cómo configurar WebView como no fullscreen?