Ich habe eine Textansicht und möchte, dass die Ecke rund ist. Ich weiß bereits, dass es mit Android:background="@drawable/somefile"
möglich ist. In meinem Fall ist dieses Tag bereits enthalten und kann daher nicht erneut verwendet werden. Android:background="@drawable/mydialogbox"
ist bereits vorhanden, um ein Bild im Hintergrund zu erstellen
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="wrap_content"
Android:layout_height="fill_parent"
Android:layout_gravity="top"
Android:background="@drawable/mydialogbox"
Android:orientation="horizontal" >
<TextView
Android:id="@+id/textview_name"
Android:layout_alignParentTop="true"
Android:layout_centerHorizontal="true" />
</LinearLayout>
</RelativeLayout>
also wenn ich textview(textview_name)
auch mit runder ecke will, wie man das erreichen kann.
1) Erstellen Sie rounded_corner.xml
im Ordner drawable
und fügen Sie den folgenden Inhalt hinzu:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<stroke
Android:width="1dp"
Android:color="@color/common_border_color" />
<solid Android:color="#ffffff" />
<padding
Android:left="1dp"
Android:right="1dp"
Android:bottom="1dp"
Android:top="1dp" />
<corners Android:radius="5dp" />
</shape>
2) Setzen Sie dieses Zeichen in die TextView
-Hintergrundeigenschaft. Beispiel:
Android:background="@drawable/rounded_corner"
Ich hoffe das ist nützlich für dich.
Da für die Ansicht auf oberster Ebene bereits die Eigenschaft Android: background festgelegt ist, können Sie mit <layer-list>
( link ) ein neues XML-Zeichenelement erstellen, das Ihren alten Hintergrund und den neuen Hintergrund mit abgerundeten Ecken kombiniert.
Jedes <item>
-Element in der Liste wird über das nächste Element gezeichnet, sodass das letzte Element in der Liste das Element ist, das oben endet.
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<item>
<bitmap Android:src="@drawable/mydialogbox" />
</item>
<item>
<shape>
<stroke
Android:width="1dp"
Android:color="@color/common_border_color" />
<solid Android:color="#ffffff" />
<padding
Android:left="1dp"
Android:right="1dp"
Android:top="1dp" />
<corners Android:radius="5dp" />
</shape>
</item>
</layer-list>
Neben radius
gibt es eine Eigenschaft, die die Ecken abrundet, wie topRightRadius
, topLeftRadius
, bottomRightRadius
, bottomLeftRadius
.
Beispiel TextView
mit red
borderwith corner and
gray` Hintergrund
bg_rounded.xml
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
<stroke
Android:width="10dp"
Android:color="#f00" />
<solid Android:color="#aaa" />
<corners
Android:radius="5dp"
Android:topRightRadius="100dp" />
</shape>
Textvorschau
<TextView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="@drawable/bg_rounded"
Android:text="Text"
Android:padding="20dp"
Android:layout_margin="10dp"
/>
Ergebnis
Sie können die bereitgestellte Rechteckform (ohne Farbverlauf, sofern Sie keine möchten) wie folgt verwenden:
Im drawable/rounded_rectangle.xml
:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<corners Android:radius="5dp" />
<stroke Android:width="1dp" Android:color="#ff0000" />
<solid Android:color="#00ff00" />
</shape>
Dann in deiner Textansicht:
Android:background="@drawable/rounded_rectangle"
Natürlich möchten Sie die Abmessungen und Farben anpassen.
1.Klicken Sie mit der rechten Maustaste auf Drawable Folder und erstellen Sie eine neue Datei 2. Benennen Sie die Datei entsprechend und fügen Sie die Erweiterung als .xml ..__ hinzu. 3. Fügen Sie den folgenden Code in die Datei ein
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<corners Android:radius="5dp" />
<stroke Android:width="1dp" />
<solid Android:color="#1e90ff" />
</shape>
4.Fügen Sie die Zeile dort hinzu, wo Sie den abgerundeten edgAndroid:background="@drawable/corner"
wünschen.
erstellen Sie eine XML-Farbverlauf.xml-Datei im Ordner "drawable"
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape Android:shape="rectangle" >
<corners Android:radius="50dip" />
<stroke Android:width="1dip" Android:color="#667162" />
<gradient Android:angle="-90" Android:startColor="#ffffff" Android:endColor="#ffffff" />
</shape>
</item>
</selector>
dann fügen Sie dies Ihrem TextView hinzu
Android:background="@drawable/gradient"
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:id="@Android:id/background">
<shape>
<corners Android:radius="5dp" />
<solid Android:color="#ffffff"/>
</shape>
</item>
</layer-list>
Versuchen Sie es mit dieser Site. Erstellen Sie einen Hintergrund als Ihren Wunsch und stellen Sie ihn als Textview-Hintergrund ein.
Sie können SVG zum Abrunden von Ecken und Laden in eine ImageView verwenden und ConstraintLayout verwenden, um ImageView in TextView zu übernehmen
Ich habe es für abgerundete ImageView und abgerundete TextView verwendet