Je voudrais ajouter seulement une bordure inférieure et une bordure supérieure sur mon Linearlayout
. J'ai essayé de faire ceci:
<?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>
Mais cela ajoute une bordure autour de la forme ..
Pourrais-tu m'aider s'il te plait ?
Faites ceci deux fichiers et mettez ce code. vous pouvez définir la bordure supérieure et inférieure,
main.xml
<TextView
Android:text="This is textline"
Android:background="@drawable/border_set"
/>
border_set.xml
Ce fichier situé dans le chemin complet 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>
Je pense que vous pouvez créer ce dessin et l'utiliser comme arrière-plan:
<?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>
Pensez à dessiner d'abord un rectangle avec une couleur de bordure, puis posez dessus un rectangle avec votre couleur d'arrière-plan en laissant 1dp en haut et en bas.
Voici la solution. Cela fonctionne même avec un fond transparent.
<?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>
Je pense que c'est la manière la plus simple:
<View
Android:layout_width="match_parent"
Android:layout_height="2dp"
Android:background="#000000" />
Ma version est celle-ci, seule est visible la bordure en haut et en bas, ne montre pas les bordures à gauche ni à droite. Et le fond est transparent.
<?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>
Un moyen rapide d'y parvenir:
J'espère que ça aide!
C'est simple. Dessinez 3 formes comme celle-ci.
<?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>
Vous pouvez suivre ce lien Existe-t-il un moyen simple d'ajouter une bordure en haut et en bas d'un Android View?
J'espère que vous êtes résolu à partir de ce lien. vous pouvez également résoudre Comment ajouter une bordure autour d'une disposition linéaire sauf en bas?