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

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

 

Para agregar un separador vertical, cambie los valores de layout_width y layout_height

Para mejorar las respuestas proporcionadas por Alex Kucherenko y Dan Dar3

Agregué esto a mis estilos:

  

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

  

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

  

Puedes usar esto en LinearLayout :

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

Por ejemplo:

        
  

usa este código Ayudará

  

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

ejemplo de uso:

  ... children... 

res / drawable / divider.xml:

      

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.

Solo escribe esto:

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

ejemplo completo:

     

Obtuve la forma más fácil de agregar divisor.

Divisor vertical:

Vista divisor vertical

Divisor horizontal:

Vista divisor horizontal

¡Eso es todo, sí!

Solo ponga esto en res>values>styles.xml

    

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

    

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

Agregar esta vista; que dibuja un separador entre tus textviews

  

Es muy sencillo. Solo crea una vista con el color de fondo negro.

  

Esto creará una línea horizontal con el color de fondo. También puede agregar otros atributos como márgenes, almohadillas, etc. al igual que cualquier otra vista.

Agrega un divisor horizontal a cualquier lugar de su diseño.

   
 //for vertical line:  //for horizontal line:  //it works like a charm 

Versión en tiempo de ejecución:

 View dividerView = new View(getContext()); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, UIUtils.dpToPix(getContext(), 1)); dividerView.setLayoutParams(lp); TypedArray array = getContext().getTheme() .obtainStyledAttributes(new int[] {android.R.attr.listDivider}); Drawable draw = array.getDrawable(0); array.recycle(); dividerView.setBackgroundDrawable(draw); mParentLayout.addView(dividerView); 

usa este código xml para agregar línea vertical

   

usa este código xml para agregar línea horizontal

  
  

Entre dos diseños Coloque este código para obtener el divisor.

En los casos en que uno usa la propiedad android:layout_weight para asignar espacio de pantalla disponible a los componentes de diseño, por ejemplo

   ... ...  /* And we want to add a verical separator here */  ... ...   

Para agregar un separador entre los dos diseños existentes que ya han ocupado todo el espacio de la pantalla, no podemos simplemente agregar otro LinearLayout con android:weight:"1" porque eso generará tres columnas de ancho igual que no queremos. En cambio, disminuiremos la cantidad de espacio que le daremos a este nuevo diseño. El código final se vería así:

   ... ...  /* *************** ********************** */ /* Add another LinearLayout with android:layout_weight="0.01" and android:background="#your_choice" */  /* Or View can be used */  /* *************** ********************** */  ... ...   

enter image description here

Puede usar este elemento justo después de First TextView.

   
  

Si vas a usarlo mucho, lo mejor es

styles.xml:

  

ahora en tu diseño, solo agrégala como:

  

Usualmente uso este código:

  

si tiene un objeto en su diseño y desea configurar la línea a continuación que use este atributo en ImageView:

 android:layout_below="@+id/textBox1" 

Esto te ayudaría a resolver este problema. Aquí se crea una vista pequeña para hacer una línea negra como separador entre dos vistas.

   

Agregue una línea negra horizontal usando esto:

  

Para completar la respuesta de Camille Sévigny, también puede definir su propia forma de línea, por ejemplo, para personalizar el color de la línea.

Definir una forma xml en el directorio dibujable. line_horizontal.xml:

      

Use esta línea en su diseño con los atributos deseados:

   

Aquí está el código “una línea divisoria horizontal entre dos vistas de texto”. Prueba esto

    /> 

Divide el espacio en dos partes iguales:

     

Tenga en cuenta que una parte contiene un divisor al final

Solución simple

simplemente agregue este código en su diseño y reemplace ‘Id_de__vista_presente_por_abierto’ a la identificación de la vista, debajo de la cual necesita el divisor.

  

Por ejemplo, si usaste recyclerView para tus artículos:

en build.gradle write:

 dependencies { compile 'com.yqritc:recyclerview-flexibledivider:1.4.0' 

Si desea establecer valores de color, tamaño y margen, puede especificar lo siguiente:

 RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerview); recyclerView.addItemDecoration( new HorizontalDividerItemDecoration.Builder(this) .color(Color.RED) .sizeResId(R.dimen.divider) .marginResId(R.dimen.leftmargin, R.dimen.rightmargin) .build());