Je me demande si je peux dessiner un rectangle en XML. Je sais dessiner en utilisant la méthode drawRect par programmation.
Oui vous pouvez et voici celui que j'ai fait plus tôt:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:id="@+id/listview_background_shape">
<stroke Android:width="2dp" Android:color="#ff207d94" />
<padding Android:left="2dp"
Android:top="2dp"
Android:right="2dp"
Android:bottom="2dp" />
<corners Android:radius="5dp" />
<solid Android:color="#ffffffff" />
</shape>
Vous pouvez créer un nouveau fichier XML dans le dossier pouvant être dessiné, ajouter le code ci-dessus, puis l’enregistrer en tant que rectangle.xml.
Pour l'utiliser dans une mise en page, définissez l'attribut Android:background
sur la nouvelle forme dessinée. La forme que nous avons définie n'a aucune dimension et prend donc les dimensions de la vue définie dans la présentation.
Donc, tout mettre ensemble:
<View
Android:id="@+id/myRectangleView"
Android:layout_width="200dp"
Android:layout_height="50dp"
Android:background="@drawable/rectangle"/>
Finalement; vous pouvez définir ce rectangle comme l'arrière-plan de n'importe quelle vue, bien que pour ImageViews, vous utilisiez Android:src
. Cela signifie que vous pouvez utiliser le rectangle comme arrière-plan pour ListViews, TextViews ... etc.
Créez rectangle.xml
en utilisant Shape Drawable Comme ceci inséré dans votre Drawable Dossier ...
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:shape="rectangle">
<solid Android:color="@Android:color/transparent"/>
<corners Android:radius="12px"/>
<stroke Android:width="2dip" Android:color="#000000"/>
</shape>
mettez-le dans un ImageView
<ImageView
Android:id="@+id/rectimage"
Android:layout_height="150dp"
Android:layout_width="150dp"
Android:src="@drawable/rectangle">
</ImageView>
J'espère que cela vous aidera.
Manière rapide et sale:
<View
Android:id="@+id/colored_bar"
Android:layout_width="48dp"
Android:layout_height="3dp"
Android:background="@color/bar_red" />
essaye ça
<TableRow
Android:layout_width="match_parent"
Android:layout_marginTop="5dp"
Android:layout_height="wrap_content">
<View
Android:layout_width="15dp"
Android:layout_height="15dp"
Android:background="#3fe1fa" />
<TextView
Android:textSize="12dp"
Android:paddingLeft="10dp"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textAppearance="?android:attr/textAppearanceMedium"
Android:text="1700 Market Street"
Android:id="@+id/textView8" />
</TableRow>
sortie
Utilisez ce code
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle" >
<corners
Android:bottomLeftRadius="5dp"
Android:bottomRightRadius="5dp"
Android:radius="0.1dp"
Android:topLeftRadius="5dp"
Android:topRightRadius="5dp" />
<solid Android:color="#Efffff" />
<stroke
Android:width="2dp"
Android:color="#25aaff" />
</shape>