Ich habe:
%Vor%Ich möchte diesen Rahmen vom unteren Rand (zum Beispiel) des Elements entfernen. Ist es möglich? (Eclipse schlägt mir nur vor: color, width, dashWidth und dashGap).
Soweit ich es verstehe, gibt es keinen einfachen Weg, dies zu tun. Wenn Sie aber die layer-Liste mit einem Element verwenden, das den Rahmen hat und dann nicht mit einem Versatz von alle Seiten, für die Sie einen Rahmen möchten gleich der Rahmenbreite, würden Sie erreiche das.
Lassen Sie mich das xml für Sie machen, das die randlose Unterseite darstellt.
%Vor%Wie Sie sehen können, sage ich dem zweiten Punkt, dass der erste um zwei Punkte auf allen Seiten mit Ausnahme der unteren (daher das randlose Ergebnis unten) eingefügt werden soll, gehen Sie:
Also im Grunde genommen ist das keine Grenze per se, es ist die Form von unten (obwohl Sie einen Rahmen hinzufügen könnten, wenn Sie gestrichelt oder punktiert oder was auch immer brauchen), der von einem zweiten Gegenstand mit dem Körper des Knopfes bedeckt wird . Alles im selben Zeichenfeld:)
Dies kann auf jeden Rahmen angewendet werden, den Sie entfernen möchten, indem Sie die Werte ändern, in die das Element eingefügt wird. Wenn ich beispielsweise right
im Element Körper in bottom
ändere, würde der fehlende Rahmen das Recht haben eins da es das ohne den Einsatz
Dies ist ein bisschen ein Hack , aber es ist möglich, einen oder mehrere Rahmen mit einem inset
zu entfernen, das mit negativen Werten gezeichnet werden kann. Wickeln Sie die Form in eine inset
und wenden Sie eine negative android:insetTop
, android:insetBottom
, android:insetLeft
oder android:insetRight
mit einem Abs-Wert an, der der Strichbreite entspricht.
Um beispielsweise den unteren Rand von einem Rechteck mit einem 4dp
-Zug zu entfernen, verwenden Sie einen android:insetBottom
-Wert von -4dp
.
Dies scheint gut zu funktionieren, solange die Ecken der Form einen Radius haben, der kleiner als die Strichbreite ist. Andernfalls verwenden Sie den größeren der beiden Werte (den Radius), wenn Sie den Einsatz anwenden, um die abgerundeten Teile der angrenzenden Rahmen vollständig zu verbergen.
Es ist ein XML-Trick. Zuerst müssen Sie die Ebene mit einer bestimmten Farbe (Linienfarbe) füllen. Dann müssen Sie es mit einer anderen Farbe (Hintergrundfarbe) füllen, während Sie die Zeichnung ein wenig von der Seite schieben, die Sie die Linie zeichnen möchten. Hier ist mein Code:
%Vor%Hier, wie es aussieht:
Tags und Links android android-drawable android-xml border