Ich muss eine Android-Form erstellen, damit nur der Boden einen Strich hat (eine gestrichelte Linie). Wenn ich Folgendes versuche, halbiert der Strich die Form mitten durch die Mitte. Weiß jemand, wie man es richtig macht? Der Strich muss die unterste Linie / Grenze sein. Ich verwende die Form als Hintergrund für eine Textansicht. Bitte, egal warum ich es brauche.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#1bd4f6" />
</shape>
</item>
<item>
<shape android:shape="line" >
<padding android:bottom="1dp" />
<stroke
android:dashGap="10px"
android:dashWidth="10px"
android:width="1dp"
android:color="#ababb2" />
</shape>
</item>
</layer-list>
android
android-drawable
android-styles
layer-list
Cote Mounyo
quelle
quelle
Antworten:
Es ist eine Art Hack, aber ich denke, dies ist wahrscheinlich der beste Weg, dies zu tun. Die gestrichelte Linie befindet sich unabhängig von der Höhe immer unten.
Erläuterung:
Die zweite Form ist ein transparentes Rechteck mit einem gestrichelten Umriss. Der Schlüssel, um den Rand nur am unteren Rand erscheinen zu lassen, liegt in den negativen Rändern auf den anderen Seiten. Diese negativen Ränder "drücken" die gestrichelte Linie außerhalb des gezeichneten Bereichs auf diesen Seiten, wobei nur die Linie am unteren Rand verbleibt. Ein möglicher Nebeneffekt (den ich nicht ausprobiert habe) ist, dass bei Ansichten, die außerhalb ihrer eigenen Grenzen liegen, die negativen Randgrenzen sichtbar werden können.
quelle
Das macht den Trick ...
quelle
quelle
Diese Antwort ist für diejenigen Google-Sucher, die einen gepunkteten unteren Rand
EditText
wie hier anzeigen möchtenErstellen Sie
dotted.xml
innerhalbdrawable
Ordner und fügen Sie dieseSetzen Sie dann einfach das
android:background
Attribut aufdotted.xml
das gerade erstellte. DuEditText
siehst so aus.quelle
Ich denke, es ist unkompliziert, ohne all diese negativen Polsterungen oder Störche.
quelle
<item android:drawable="@color/main_bg_color"/>
Versuchen Sie den nächsten XML-Zeichencode:
quelle
Ich denke, Sie müssen keine Form verwenden, wenn ich Sie verstanden habe.
Wenn Sie wie im folgenden Bild gezeigt aussehen, verwenden Sie das folgende Layout.
BEARBEITEN
Wenn Sie mit diesen Eigenschaften spielen, erhalten Sie ein Ergebnis
versuche es so
quelle
Eine einfache Lösung:
Erstellen Sie eine Zeichendatei als edittext_stroke.xml im Zeichenordner. Fügen Sie den folgenden Code hinzu:
Fügen Sie in der Layoutdatei das Drawable zu edittext as hinzu
quelle
Normalerweise für ähnliche Aufgaben - Ich habe eine Ebenenliste erstellt, die wie folgt gezeichnet werden kann:
Die Idee ist, dass Sie zuerst das Rechteck mit underlineColor zeichnen und dann darüber ein weiteres Rechteck mit der eigentlichen buttonColor zeichnen, aber bottomPadding anwenden. Es funktioniert immer.
Aber wenn ich buttonColor brauchte, um transparent zu sein, konnte ich das obige Zeichen nicht verwenden. Ich habe noch eine Lösung gefunden
(Wie Sie hier sehen können, ist die mainButtonColor transparent und white_box ist nur ein einfaches Rechteck, das mit weißem Volumen gezeichnet werden kann.)
quelle
Verwenden Sie diese XML-Datei, um die Farbe nach Ihren Wünschen zu ändern.
Für den Fall, dass Sie programmgesteuert möchten
nenne diese Methode wie
quelle
Das hat bei mir am besten funktioniert:
Zeigt nur die Zeile unten an. Sie können die Strichbreite ganz einfach auf die gewünschte Größe ändern und auch die obere, linke und rechte Seite entsprechend aktualisieren.
quelle
Der einfachste Weg, dies zu tun, ist nach dieser Ansicht dort zu platzieren, wo Sie den unteren Rand möchten
quelle
es ist vollständig transparent Edittext mit transparentem Hintergrund.
quelle
Eine einfache Lösung :
Und endlich haben wir so etwas :)
quelle