Ich versuche, eine Listview zu erstellen, die Googles Richtlinien folgt.Android Material ListView Dividers
Hier sind meine Anforderungen:
- Gruppe
- voll zulassen Breite Teiler zwischen den Gruppen
- zulassen Teilteiler zwischen den einzelnen Posten
Hier wird ein Bild der Kopfzeile und die Allow-Header Teiler zwischen den Elementen. Leider ist es nicht möglich, den Teiler mit voller Breite zwischen den Gruppen zu sehen, aber das ist wie bei einem normalen Teiler.
Ich kann einen benutzerdefinierten Adapter bauen, die Subklassen von Item
empfängt, wie HeaderItem
und ContactItem
.
würde die header.xml
einfach
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:minHeight="48dp"
android:padding="16dp"
android:text="Today"
android:textColor="#8A000000"
android:textSize="14sp" />
Was die contact.xml
sein:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/friend_profile_picture"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_margin="16dp"
android:scaleType="fitStart"
android:src="@drawable/ic_home" />
<TextView
android:id="@+id/friend_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignWithParentIfMissing="true"
android:layout_toRightOf="@+id/friend_profile_picture"
android:paddingTop="16dp"
android:text="random_text"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
<TextView
android:id="@+id/friend_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/friend_name"
android:layout_toRightOf="@+id/friend_profile_picture"
android:paddingBottom="16dp"
android:text="random_text"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textSize="14sp" />
</RelativeLayout>
Nun ist mein Problem, den Punkt Teiler. Der Teiler mit voller Breite wäre ein normaler Listview-Teiler. Ich bin mir einfach nicht sicher, wie ich ein Teildividir machen und es neben dem normalen Teiler arbeiten lassen soll. Irgendwelche Hinweise?
Dies könnte auch mit RecyclerView
und ItemDecorator
s durchgeführt werden, wenn es einfacher/besser ist.
Fügen Sie eine Ansicht hinzu/LinearLayout/RelativeLayou t unter "friend_state" Tetview, mit schwarzem Hintergrund und linkem Padding/Rand 72dp. – Sabari
Okay, aber wenn du das tust, wird dort die Zeile angezeigt und dann der Listview-Teiler. Jetzt fehlt nur noch, wie man das Listview-Trennzeichen nur zwischen den Abschnitten sichtbar macht. – HelderMPinhal
Ref diesen Link, das kann Ihnen helfen [Link] (http://codingdiscovery.blogspot.in/2015/02/android-listviews-with-headers.html) – Sabari