Ich habe mein Layout wie folgt:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Twitter Feeds"
android:textStyle="bold" />
<ListView
android:id="@+id/list"
android:layout_width="350dp"
android:layout_height="50dp" />
<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:text="FaceBook Feeds" />
<ListView
android:id="@+id/list1"
android:layout_width="350dp"
android:layout_height="50dp" />
</LinearLayout>
Meine Anforderung ist es, eine horizontale Linie zwischen TextView
und zu ziehenListView
Könnte jemand helfen?
Antworten:
Es wird eine silbergraue Linie zwischen
TextView
& gezogenListView
quelle
Sie sollten die neue leichte Ansicht verwenden,
Space
um Trennwände zu zeichnen. Ihr Layout wird schneller geladen, wenn SieSpace
anstelle von verwendenView
.Horizontaler Teiler:
Vertikaler Teiler:
Sie können auch einen Hintergrund hinzufügen:
Anwendungsbeispiel:
Um zu verwenden
Space
, sollten Sie die Abhängigkeit in Ihrem build.gradle hinzufügen :Dokumentation https://developer.android.com/reference/android/support/v4/widget/Space.html
quelle
Space
wird enttäuschend sein, daSpace
nichts gezeichnet wird (nicht einmal ein Hintergrund). Die einzige Aufgabe besteht darin, Platz auf dem Bildschirm einzunehmen. Die Lösung besteht darin,View
stattdessen ein Vanilleelement zu verwenden. Dann wird der Hintergrund wie gewünscht gezeichnet. (Sie können dann auch die Abhängigkeit der Unterstützungsbibliothek vermeiden, wenn sie nicht anderweitig benötigt wird.)Space
erbt vonView
und erbt daher alle durch definierten AttributeView
. (LinearLayout
Erbt dastextAlignment
Attribut auf ähnliche Weise, obwohl es selbst keinen Text anzeigt.) Testen Sie dies selbst (oder sehen Sie sich nur den Quellcode an), und Sie werden feststellen, dass aSpace
alle zeichnungsbezogenen Attribute ignoriert.Space
zeichnet keinen Hintergrund, er ist transparent.Fügen Sie Ihrem Layout zwischen den Ansichten, die Sie trennen möchten, Folgendes hinzu:
Ich hoffe es hilft :)
quelle
Es ist eine gute Idee, es einmal zu erstellen und überall dort zu verwenden, wo es benötigt wird. Fügen Sie dies in Ihre styles.xml ein:
und fügen Sie dies in Ihren XML-Code ein, wo ein Zeilenteiler benötigt wird:
Ursprünglich von toddles_fp auf diese Frage beantwortet: Android Drawing Separator / Divider Line im Layout?
quelle
Versuche dies
quelle
quelle
Sie können diese Ansicht zwischen Ihre Ansichten setzen, um die Linie zu imitieren
quelle
Versuchen Sie, dass dies für mich funktioniert
quelle
LinearLayout
Fügen Sie in jedem übergeordneten Element, für das Sie Trennlinien zwischen Komponenten wünschen,android:divider="?android:dividerHorizontal"
oder hinzuandroid:divider="?android:dividerVertical
.Wählen Sie entsprechend Ihrer Ausrichtung die entsprechende Option aus
LinearLayout
.Bis ich weiß, wurde dieser Ressourcenstil von Android 4.3 hinzugefügt.
quelle
Versuche dies
quelle
Eine Ansicht, deren Hintergrundfarbe Sie angeben können, reicht aus (Höhe = einige dpi). Sah in echtem Code und hier ist es:
Beachten Sie, dass es jede Art von sein kann
View
.quelle
----> Einfach
quelle
Wenn Sie keine zusätzliche Ansicht nur für Unterstreichungen verwenden möchten. Fügen Sie diesen Stil Ihrem hinzu
textView
.Der Nachteil ist, dass zusätzliche Eigenschaften wie hinzugefügt werden
was Sie leicht überschreiben können.
quelle