programacion - linea separadora android studio
Android dibuja una línea horizontal entre vistas (13)
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
y ListView
¿Alguien podría ayudar?
----> Simple uno
<TextView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#c0c0c0"
android:id="@+id/your_id"
android:layout_marginTop="160dp" />
Crearlo una vez y usarlo donde sea necesario es una buena idea. Agregue esto en su styles.xml:
<style name="Divider">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">?android:attr/listDivider</item>
</style>
y agregue esto en su código xml, donde se necesita un divisor de línea:
<View style="@style/Divider"/>
Originalmente, toddles_fp respondió esta pregunta: Separador de dibujos de Android / Línea divisoria en el diseño.
Deberías usar el nuevo Space
visión ligero para dibujar divisores. Su diseño se cargará más rápido si va a usar Space
lugar de View
.
Divisor horizontal:
<android.support.v4.widget.Space
android:layout_height="1dp"
android:layout_width="match_parent" />
Divisor vertical:
<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp" />
También puedes agregar un fondo:
<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp"
android:background="?android:attr/listDivider"/>
Ejemplo de uso:
....
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="One"/>
<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp"
android:background="?android:attr/listDivider"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Two"/>
<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp"
android:background="?android:attr/listDivider"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Three"/>
....
Para usar Space
debes agregar la dependencia en tu build.gradle :
dependencies {
compile ''com.android.support:support-v4:22.1.+''
}
Documentación https://developer.android.com/reference/android/support/v4/widget/Space.html
En cada uno de los padres LinearLayout
para el que desea divisores entre los componentes, agregue android:divider="?android:dividerHorizontal"
o android:divider="?android:dividerVertical
.
Elija apropiado entre ellos según la orientación de su LinearLayout
.
Hasta que lo sepa, este estilo de recurso se agrega desde Android 4.3.
Prueba esto funciona para mí
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/tw_composer />
Puedes poner esta vista entre tus vistas para imitar la línea
<View
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="#c0c0c0"/>
Si no desea usar una vista adicional solo para subrayar. Agregue este estilo en su textView
.
style="?android:listSeparatorTextViewStyle"
Solo un inconveniente es que agregará propiedades adicionales como
android:textStyle="bold"
android:textAllCaps="true"
que puede anular fácilmente.
Una vista cuyo color de fondo puede especificar haría (altura = unos pocos ppp). Miró en código real y aquí está:
<LinearLayout
android:id="@+id/lineA"
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="#000000" />
Tenga en cuenta que puede ser cualquier tipo de View
.
agregue algo como esto en su diseño entre las vistas que desea separar:
<View
android:id="@+id/SplitLine_hor1"
android:layout_width="match_parent"
android:layout_height= "2dp"
android:background="@color/gray" />
Espero eso ayude :)
TextView
línea de color gris plateado entre TextView
y ListView
<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" />
<View
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="#c0c0c0"/>
<ListView
android:id="@+id/list1"
android:layout_width="350dp"
android:layout_height="50dp" />
Prueba esto
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray"/>
Prueba esto
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="?android:attr/listDivider"/>
<View
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="#000000" />