No quiero usar las preferencias proporcionadas por el marco, prefiero crear un ListView que se vea similar. En particular, me gustaría usar el mismo tamaño de fuente y estilo para TextViews.Android: cómo hacer un ListView que se parece a las Preferencias?
Respuesta
No se trata de la propia ListView, sino más bien las vistas secundarias que aparecen dentro de la ListView. Se crean mediante el método getView de su adaptador.
Para crear vistas similares a Android, puede usar el código fuente de Android, específicamente los diseños de archivos XML relevantes. Por ejemplo, preference.xml se ve así:
<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" />
<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>
Usted no será capaz de utilizar este contenido directamente, ya que algunas de las constantes utilizadas son privadas a Android, y vas a tener que cavar más abajo a través de otra xml's
De todos modos, debe tener en cuenta que las preferencias de Android se ven diferentes en diferentes versiones de Android y en diferentes temas, así que asegúrese de usar las constantes proporcionadas por Android, y no sus propios valores codificados, para asegurarse sus elementos de vista de lista se asemejan a las preferencias reales proporcionadas por Android.
Gracias, esto es exactamente lo que estaba buscando. – ab11
¿Dónde están ubicados este archivo (preference.xml) y los archivos de diseño de preferencias relacionados en el código fuente de Android? Editar: me respondo, mejor búsqueda en la carpeta SDK: '\ sdk \ platforms \ android-19 \ data \ res \ layout' (archivos que comienzan con" preferencia "). – cprcrack
Añadir este atributo a la etiqueta de la actividad en su AndroidManifest.xml
android:theme="@android:style/Preference.PreferenceScreen"
Esto me da un error: 'El recurso no es público' – Sam
- 1. ¿Cómo hacer un ListView con elementos que se pueden arrastrar?
- 2. Validar las preferencias. Android
- 3. Android ListView que no se desplaza?
- 4. ¿Cómo se muestran y ocultan las preferencias en Android dinámicamente?
- 5. ¿Cómo acceder a las preferencias compartidas entre actividades en Android?
- 6. cómo hacer que toda la fila se pueda hacer clic en listview android
- 7. Usar íconos en las preferencias de Android
- 8. Preferencias compartidas de Android que no guardan
- 9. Cómo usar las Preferencias Compartidas
- 10. ¿Puedo hacer que un elemento ListView no sea seleccionable?
- 11. Servicio de Android: parece que no puede encontrar un ejemplo.
- 12. Preferencias compartidas de Android
- 13. ¿Cómo detectar si se realizaron cambios en las preferencias?
- 14. ¿Cómo se puede reordenar manualmente un ListView en Android?
- 15. ¿Cómo hacer solo las preferencias de lectura (rellenas mediante programación)?
- 16. ¿Se eliminan las preferencias compartidas en las aplicaciones de Android cuando un usuario actualiza la aplicación?
- 17. Cómo eliminar las preferencias de Android de la pantalla
- 18. ¿Cómo señalo a otras aplicaciones de Cocoa que se cambiaron las preferencias?
- 19. Android: elementos ListView con múltiples botones en los que se puede hacer clic
- 20. ¿Cómo obtengo preferencias para trabajar en Android?
- 21. ¿Cómo se puede escribir el código para hacer preferencias compartidas para una matriz en Android?
- 22. ¿Cómo manejas las preferencias del usuario?
- 23. ¿Dónde se almacenan las preferencias compartidas?
- 24. Preferencias de número en actividad de preferencias en Android
- 25. ¿Cómo puedo establecer drawable a un ListView en Android
- 26. Android: cómo ocultar un elemento de ListView
- 27. ¿Cómo hacer que UpdatePanel dentro de ListView funcione?
- 28. ¿Asigna personas a edificios respetando las preferencias?
- 29. Android: Acceda a vistas secundarias desde un ListView
- 30. Android: Configuración de preferencias programáticamente
Eso dependerá totalmente de qué marco está hablando. Cada vendedor tiene ajustes específicos para diferenciarlo de los demás. Siempre puedes tomar la Settings.apk de tu fw, descompilarla con el administrador de apk y sumergirte en los xmls para obtener una idea. – Aleadam