Ich frage mich, ob ich Rechteck in XML zeichnen kann. Ich weiß, wie mit der drawRect-Methode programmgesteuert gezeichnet wird.Kann ich ein Rechteck in XML zeichnen?
Antwort
Ja, Sie können, und hier ist, den ich früher gemacht:
<?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>
Sie können eine neue XML-Datei im ziehbar Ordner erstellen, und fügen Sie den obigen Code, speichern Sie es als rectangle.xml.
Um es in einem Layout zu verwenden, würden Sie das Attribut android:background
auf die neue Zeichenform setzen. Die von uns definierte Form hat keine Dimensionen und nimmt daher die Dimensionen der Ansicht an, die im Layout definiert ist.
setzen sie also alle zusammen:
<View
android:id="@+id/myRectangleView"
android:layout_width="200dp"
android:layout_height="50dp"
android:background="@drawable/rectangle"/>
Schließlich; Sie können dieses Rechteck als Hintergrund für jede Ansicht festlegen, obwohl Sie für ImageViews android:src
verwenden würden. Dies bedeutet, dass Sie das Rechteck als Hintergrund für ListViews, TextViews usw. verwenden könnten.
Wie würde jemand dazu kommen, es so zu machen, dass die Farbe von dem Android-Layout aus eingestellt werden kann, wo wir
Ich denke, du kannst keine ID dafür hinzufügen –
erstellen rectangle.xml
mit Form Drawable Wie diese setzen sich in Ihrem Drawable Folder ...
<?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>
steckte es in zu einem ImageView
<ImageView
android:id="@+id/rectimage"
android:layout_height="150dp"
android:layout_width="150dp"
android:src="@drawable/rectangle">
</ImageView>
hoffe, dies wird Ihnen helfen.
Vielen Dank. Es ist nützlich. – user1301568
Schnelle und schmutzige Art und Weise:
<View
android:id="@+id/colored_bar"
android:layout_width="48dp"
android:layout_height="3dp"
android:background="@color/bar_red" />
versuchen, diese
<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>
Ausgang
Verwenden Sie diesen 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>
sagt XML bedeutet alles und nichts, d. H. Irgendetwas ... – ShinTakezou
Was ist der Zweck der Verwendung von XML? drawRect arbeitet mit Canvas, das normalerweise beim Erstellen benutzerdefinierter Ansichten verwendet wird. – noob
Ich stimme völlig mit @Creator überein, wir benutzen Canvas nur selten, wenn es etwas komplizierter ist. Die XML-Version ermöglicht es, den Hintergrund über die gesamte App für bestimmte UI-Elemente zu ändern, da die Attribute an einem Ort definiert sind. –