vertical studio linearlayout example ejemplo developers android android-linearlayout android-shape

android - studio - Agregue solo el borde superior e inferior en LinearLayout



tablelayout (8)

Aquí está la solución. Funciona incluso con fondo transparente.

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:left="-2dp" android:right="-2dp"> <shape android:shape="rectangle"> <stroke android:width="2dp" android:color="@color/borderColor" /> <solid android:color="@color/backgroundColor" /> </shape> </item> </layer-list>

Me gustaría añadir solo un borde inferior y uno superior en mi Linearlayout . He intentado hacer esto:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:bottom="1dp" android:top="1dp"> <shape android:shape="rectangle"> <solid android:color="#FFFFFF" /> <stroke android:width="1dp" android:color="#000" /> </shape> </item> </layer-list>

Pero agrega un borde alrededor de la forma ..

Usted me podría ayudar por favor ?


Creo que esta es la forma más sencilla:

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


Creo que puedes crear este dibujo y usarlo como fondo:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle" > <solid android:color="#000"/> </shape> </item> <item android:bottom="1dp" android:top="1dp"> <shape android:shape="rectangle" > <solid android:color="#FFFFFF" /> </shape> </item> </layer-list>

Piensa que es como dibujar primero un rectángulo con color de borde y luego colocar sobre él un rectángulo con el color de fondo dejando 1dp arriba y abajo.


Es sencillo. Dibuja 3 formas como esta.

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle" > <solid android:color="@color/menu_line_separator_in" /> </shape> </item> <item android:bottom="1.5dp"> <shape android:shape="rectangle" > <solid android:color="@color/menu_line_separator_out" /> </shape> </item> <item android:top="1.5dp"> <shape android:shape="rectangle" > <solid android:color="@color/menu_line_separator_out" /> </shape> </item> </layer-list>


Haz este archivo de dos y pon este código . puede establecer el borde superior e inferior del borde,

main.xml

<TextView android:text="This is textline" android:background="@drawable/border_set" />

border_set.xml

Este archivo se encuentra en la ruta completa project_root/res/drawable/border_set.xml

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <stroke android:width="1dp" android:color="#FF000000" /> <solid android:color="#FFDDDDDD" /> </shape> </item> <item android:top="1dp" android:bottom="1dp"> <shape android:shape="rectangle"> <stroke android:width="1dp" android:color="#000" /> <solid android:color="#FFFFFF" /> </shape> </item> </layer-list>


Mi versión es esta, solo está visible el borde superior e inferior, no muestra los bordes izquierdo ni derecho. Y el fondo es transparente.

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="1dp"> <item android:left="-1dp" android:right="-1dp" android:top="-1dp" android:bottom="1dp"> <shape android:shape="rectangle"> <stroke android:width="1dp" android:color="@color/BlueGrey_colorPrimary" /> <solid android:color="@android:color/transparent" /> </shape> </item> </layer-list>



Una forma rápida de lograr esto:

  • Agregue una vista de texto en la parte inferior y / o superior de su diseño.
  • Establezca el ancho de TextView en "match_parent"
  • Establezca la altura de TextView a aproximadamente "1dp" o encuentre el grosor que desea
  • Establezca el fondo de TextView al color que desea que sea el borde

¡Espero que esto ayude!