Tengo mi diseño como a continuación:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Twitter Feeds"
android:textStyle="bold" />
<ListView
android:id="@+id/list"
android:layout_width="350dp"
android:layout_height="50dp" />
<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:text="FaceBook Feeds" />
<ListView
android:id="@+id/list1"
android:layout_width="350dp"
android:layout_height="50dp" />
</LinearLayout>
Mi requisito es dibujar una línea horizontal entre TextView
yListView
¿Alguien podría ayudar?
Respuestas:
Dibujará una línea de color gris plateado entre
TextView
&ListView
fuente
Debería utilizar la nueva Vista ligera
Space
para dibujar divisores. Su diseño se cargará más rápido si usa enSpace
lugar deView
.Divisor horizontal:
Divisor vertical:
También puede agregar un fondo:
Ejemplo de uso:
Para usarlo
Space
, debe agregar la dependencia en su build.gradle :Documentación https://developer.android.com/reference/android/support/v4/widget/Space.html
fuente
Space
va a ser decepcionante porqueSpace
no dibuja nada (ni siquiera un fondo). Su único trabajo es ocupar espacio en la pantalla. La solución es usar unView
elemento de vainilla en su lugar. Luego, el fondo se dibujará como desee. (También puede evitar la dependencia de la biblioteca de soporte si no es necesaria de otro modo).Space
heredaView
y por lo tanto hereda todos los atributos definidos porView
. (De manera similar,LinearLayout
hereda eltextAlignment
atributo aunque no muestre ningún texto). Siéntase libre de probar esto usted mismo (o simplemente mire el código fuente) y encontrará queSpace
ignora todos los atributos relacionados con el dibujo.Space
no dibuja un fondo, es transparente.agregue algo como esto en su diseño entre las vistas que desea separar:
Espero eso ayude :)
fuente
Crearlo una vez y usarlo donde sea necesario es una buena idea. Agregue esto en su styles.xml:
y agregue esto en su código xml, donde se necesita un divisor de línea:
Originalmente respondida por toddles_fp a esta pregunta: ¿ Separador de dibujo de Android / Línea divisoria en el diseño?
fuente
Prueba esto
fuente
fuente
Puede poner esta vista entre sus vistas para imitar la línea
fuente
Prueba esto funciona para mi
fuente
En cada padre
LinearLayout
para el que desee divisores entre componentes, agregueandroid:divider="?android:dividerHorizontal"
oandroid:divider="?android:dividerVertical
.Elija el apropiado entre ellos según la orientación de su
LinearLayout
.Hasta que yo sepa, este estilo de recurso se agrega desde Android 4.3.
fuente
Prueba esto
fuente
Una Vista cuyo color de fondo puede especificar sería suficiente (altura = unos pocos ppp). Visto en código real y aquí está:
Tenga en cuenta que puede ser de cualquier tipo
View
.fuente
----> Simple
fuente
Si no desea utilizar una vista adicional solo para subrayados. Agregue este estilo en su
textView
.El único inconveniente es que agregará propiedades adicionales como
que puede anular fácilmente.
fuente