2012-04-21 13 views
16

La página Android Design - Lists describe "divisores de sección". Soy consciente de que puede usar addHeaderView() a ListView para obtener un efecto similar. Me gustaría usar un "divisor de sección" sin un ListView, sino un LinearLayout.¿Agregar "divisores de sección" a mi diseño?

En la captura de pantalla siguiente, me refiero al texto azul "Teléfono" y "Correo electrónico" que también tiene una línea debajo. La captura de pantalla es de Android Design - Text Fields

enter image description here

¿Cómo hago para añadirla a mi diseño? ¿Es simplemente un TextView más una línea horizontal?

+2

Crea una imagen de fondo con una línea en la parte inferior y configúrala como fondo para tu TextView. –

+0

@mirroredAbstraction Debes escribir eso como una respuesta ya que parece ser la mejor solución hasta ahora. –

+0

¿Posible duplicado de [Separador de dibujos de Android/Línea divisoria en el diseño?] (Http://stackoverflow.com/questions/5049852/android-drawing-separator-divider-line-in-layout) –

Respuesta

42

Estaba buscando el mismo problema. He encontrado una manera fácil de decir la aplicación que un texview es un separador de sección:

<TextView 
    android:id="@+id/address_label" 
    style="?android:attr/listSeparatorTextViewStyle" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Address"/> 

La línea:

style="?android:attr/listSeparatorTextViewStyle" 

añadir el subrayado al texto y el estilo que accordingli a la defaulf "Separador "tema.

+5

¿Cómo cambiar el color del subrayado? –

-1

TextView 2dp en altura y ancho = haga coincidir el elemento principal y establezca el color de fondo como el color que desea que sea la línea.

También puede hacer vertical invirtiendo las dos configuraciones.

4

Trate de poner esta vista después de la vista de texto de "teléfono". En esta vista he puesto un color de fondo que puede cambiar a su gusto. La mejor de las suertes.

<View 
    android:layout_width="match_parent" 
    android:layout_height="2dip" 
    android:background="#FF909090" /> 
+0

Publique su código aquí en lugar de en pastebin. –

+0

Esto funcionó bien para mí. ¡Gracias! –

+2

Solo un comentario rápido ..Con esta solución, debe usar px en lugar de sumergir, porque en pantallas más pequeñas puede convertirse a 0px y volverse invisible. – Thpramos

2

A petición del autor de la pregunta de esta pregunta, estoy escribiendo mi comentario como respuesta

Crear una imagen de fondo con una línea en la parte inferior, y configurarlo como fondo a su TextView .

3

La solución terminamos teniendo un diseño includable llama util_horizontal_line_section.xml:

<?xml version="1.0" encoding="utf-8"?> 

<View 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="1dip" 
    android:background="@color/sectionSeparatorColour"/> 

Con la entrada en sectionSeparatorColourvalues/colors.xml:

<color name="sectionSeparatorColour">#a0a0a0</color> 

includable a través de:

<include layout="@layout/util_horizontal_line_section"/> 
Cuestiones relacionadas