Auf der Android-Website gibt es einen Abschnitt über Farbzeichnungen . Das Definieren dieser Zeichen in XML sieht folgendermaßen aus:
<resources>
<drawable name="solid_red">#f00</drawable>
<drawable name="solid_blue">#0000ff</drawable>
<drawable name="solid_green">#f0f0</drawable>
</resources>
In der Java-API haben sie die folgende Methode, um abgerundete Ecken zu definieren:
setCornerRadius(float radius)
Gibt es eine Möglichkeit, die abgerundeten Ecken in der XML festzulegen?
Antworten:
Verwenden Sie das
<shape>
Tag, um ein in XML gezeichnetes Zeichen mit abgerundeten Ecken zu erstellen. (Mit dem Shape-Tag können Sie auch andere Aufgaben ausführen, z. B. einen Farbverlauf definieren.)Hier ist eine Kopie einer XML-Datei, die ich in einer meiner Apps verwende, um eine Zeichnungsdatei mit weißem Hintergrund, schwarzem Rand und abgerundeten Ecken zu erstellen:
quelle
Die Antwort von mbaird funktioniert gut. Beachten Sie jedoch, dass es in Android einen Fehler zu geben scheint (mindestens 2.1). Wenn Sie den Radius einer einzelnen Ecke auf 0 setzen, werden alle Ecken auf 0 gesetzt (zumindest ist dies bei "dp" -Einheiten der Fall; ich habe es nicht getan versuche es nicht mit anderen Einheiten).
Ich brauchte eine Form, bei der die oberen Ecken abgerundet und die unteren Ecken quadratisch waren. Dies wurde erreicht, indem die Ecken, die ich quadratisch sein wollte, auf einen Wert eingestellt wurden, der etwas größer als 0: 0,1 dp war. Dies wird immer noch als quadratische Ecken dargestellt, erzwingt jedoch nicht, dass die anderen Ecken einen Radius von 0 haben.
quelle
Versuchen Sie es mit dem folgenden Code
quelle