web-dev-qa-db-fra.com

Puis-je dessiner un rectangle en XML?

Je me demande si je peux dessiner un rectangle en XML. Je sais dessiner en utilisant la méthode drawRect par programmation.

108
user1301568

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.

205
Graham Smith

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.

33
N.Droid

Manière rapide et sale:

<View
    Android:id="@+id/colored_bar"
    Android:layout_width="48dp"
    Android:layout_height="3dp"
    Android:background="@color/bar_red" />
17
Pimentoso

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

enter image description here

7
A.G.THAMAYS

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>
1