Pregunta Android Drawing Separator / Divider Line en Layout?


Me gustaría dibujar una línea justo en el medio de un diseño y usarlo como un separador de otros elementos como TextView. ¿Hay un buen widget para esto? Realmente no quiero usar una imagen ya que sería difícil hacer coincidir los otros componentes con ella. Y también quiero que esté relativamente posicionado. Gracias


685
2018-02-19 08:59


origen


Respuestas:


Usualmente uso este código para agregar una línea horizontal:

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="@android:color/darker_gray"/>

Para agregar un separador vertical, cambie el layout_width y layout_height valores


1479
2018-04-23 14:11



Para mejorar las respuestas proporcionadas por Alex Kucherenko y Dan Dar3

Agregué esto a mis estilos:

<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>

Luego, en mis diseños, hay menos código y es más fácil de leer.

<View style="@style/Divider"/>

521
2018-01-26 02:05



Agregue esto en su diseño donde desee el divisor (modifique los atributos para que se ajuste a sus necesidades):

<ImageView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@android:drawable/divider_horizontal_dark"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:scaleType="fitXY"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:paddingBottom="2dp"
    android:paddingTop="2dp" />

129
2018-05-04 14:47



Puedes usar esto en LinearLayout :

android:divider="?android:dividerHorizontal"
android:showDividers="middle"

Por ejemplo:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:divider="?android:dividerHorizontal"
    android:showDividers="middle"
    android:orientation="vertical" >            

        <TextView 
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
         android:text="abcd gttff hthjj ssrt guj"/>

        <TextView 
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="abcd"/>
        <TextView 
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="abcd gttff hthjj ssrt guj"/>

        <TextView 
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="abcd"/>

</LinearLayout>

75
2018-05-28 05:17



<TextView
    android:id="@+id/line"
    style="?android:attr/listSeparatorTextViewStyle"
    android:paddingTop="5dip"
    android:gravity="center_horizontal"
    android:layout_below="@+id/connect_help"
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="#000" />

51
2018-02-06 12:25



usa este código Ayudará

<LinearLayout
    android:layout_width="0dip"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:layout_weight="1"
    android:divider="?android:dividerHorizontal"
    android:gravity="center"
    android:orientation="vertical"
    android:showDividers="middle" >

45
2018-04-04 04:59



si usa actionBarSherlock, puede usar com.actionbarsherlock.internal.widget.IcsLinearLayout clase para admitir divisores y mostrarlos entre las vistas.

ejemplo de uso:

<com.actionbarsherlock.internal.widget.IcsLinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:divider="@drawable/divider"
    android:dividerPadding="10dp"
    android:orientation="vertical"
    android:showDividers="beginning|middle|end" >
... children...

res / drawable / divider.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <size android:height="2dip" />

    <solid android:color="#FFff0000" />

</shape>

tenga en cuenta que, por alguna razón, la vista previa en el diseñador gráfico dice "android.graphics.bitmap_delegate.nativeRecycle (I) Z". No estoy seguro de lo que significa, pero se puede ignorar, ya que funciona bien en las versiones nuevas de Android y las antiguas (probado en android 4.2 y 2.3).

parece que el error solo se muestra cuando se usa API17 para el diseñador gráfico.


14
2018-06-13 07:49



Solo escribe esto:

 android:divider="?android:dividerHorizontal"
 android:showDividers="middle"

ejemplo completo:

<LinearLayout
        android:id="@+id/llTipInformation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tvServiceRating"
        android:orientation="horizontal"
        android:divider="?android:dividerHorizontal"
        android:layout_marginTop="@dimen/activity_horizontal_margin"
        android:showDividers="middle">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:text="@string/main.msg.tippercent"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/colorWhite"
            android:layout_marginTop="@dimen/activity_vertical_margin"/>
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:text="@string/main.msg.tiptotal"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/colorWhite"
            android:layout_marginTop="@dimen/activity_vertical_margin"/>

</LinearLayout>

13
2018-05-20 17:35



Aquí está su respuesta ... este es un ejemplo para dibujar una línea entre los controles ...

<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="#d13033"/>

         <ListView
            android:id="@+id/list1"
            android:layout_width="350dp"
            android:layout_height="50dp" />

Este código dibuja una línea entre dos controles ...


11
2018-03-15 05:32



Agregar esta vista; que dibuja un separador entre su textviews

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="#000000" />

11
2017-12-19 14:24