J'aimerais placer une bordure de quelques pixels autour de ma liste. Je veux qu'il fasse tout le tour de la liste. Comment puis-je faire ceci? Merci
Pour cela, prenez d'abord LinearLayout et assignez cette mise en page linéaire avec une couleur et créez une vue liste dans cette mise en page linéaire. Définissez la propriété Android:layout_margin="10dp"
pour la vue liste. Cela signifie que sur les 4 côtés, il restera de l’espace de 10dp. Ceci est indiqué comme la bordure de la vue liste.
L'autre façon de le faire est de créer une ressource frontière qui peut ensuite être réutilisée. Cela signifie également que vous n'aurez pas besoin de créer de présentation supplémentaire pour la mettre en œuvre.
créer une ressource dessinable
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:shape="rectangle" >
<!-- use this for transparent -->
<!-- <solid Android:color="#00000000" /> -->
<!-- use this for a background colour -->
<solid Android:color="#FFF" />
<stroke Android:width="2dip" Android:color="#FF0000" />
</shape>
puis le définir comme arrière-plan listview
<ListView
Android:id="@id/Android:list"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@drawable/border_ui" />
Manière la plus simple:
<ListView Android:id="@+id/listView1" Android:layout_width="match_parent" Android:layout_height="0dp" Android:divider="#FFCC00" Android:dividerHeight="2dp" Android:layout_weight="1" />
Vous devez utiliser 9 Patch images.Ils vous permettent de créer n’importe quel fond que vous aimez, y compris les bordures. Le lien explique tout. Pour vérifier, voici une image d'une liste délimitée .
Ici est une image de l'image du 9 patch que j'ai utilisé pour créer cette bordure.
Though its long time the question posted, but hope it may help new comer !!!
Create **back.xml** under drawable folder of your project!!!
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:shape="rectangle" >
<!-- use this for transparent -->
<!-- <solid Android:color="#00000000" /> -->
<!-- use this for a background colour -->
<solid Android:color="#FFF" />
<stroke Android:width="4dip" Android:color="#FFCC00" />
</shape>
Now set the same to your listview layout as background .
<?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:background="@color/colorWhite"
Android:orientation="vertical">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Header"
Android:textSize="40dp" />
<ListView
Android:id="@+id/list"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="5dp"
**Android:background="@drawable/back"** />
</LinearLayout>
so it look like as following :
[![listview with background border][1]][1]
Here the border will around your total list view, not around each view.
TO give **separate border of your listview** do the bellow thing :
<?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:background="@color/colorWhite"
Android:orientation="vertical">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Header"
Android:textSize="40dp" />
<ListView
Android:id="@+id/list"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="5dp"
Android:background="@drawable/back"
Android:divider="#FFCC00"
Android:dividerHeight="2dp"/>
</LinearLayout>
and the UI will appear will comes like bellow: [![listview with background of each view][2]][2]
[1]: https://i.stack.imgur.com/n2jGa.png
[2]: https://i.stack.imgur.com/Btamf.png