2017-12-25 1 views
1

Ich mache Multi Choice Fragen in Android. Und dazu benutze ich Expandable listview. Ich möchte keine Leerzeichen (Teiler) zwischen Kindansichten und auch zwischen Kind- und Elternansicht anzeigen. Aber ich möchte Teiler zwischen verschiedenen erweiterbaren Listenansichten. Ich habe viel gesucht, aber was ich gefunden habe, ist das Hinzufügen von transparenten Farben zwischen den Kindansichten, aber es zeigt immer noch Platz zwischen den Kindansichten. Gibt es eine Möglichkeit, den Abstand zwischen den untergeordneten Ansichten zu entfernen? Dies ist mein XML-Code für Expandable Listview.Wie entferne ich die Teiler von den Kindern einer ExpandableListView?

<ExpandableListView 
android:id="@+id/list_single_choice_questions" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:dividerHeight="5dp" 
android:layout_marginLeft="8dp" 
android:layout_marginRight="8dp" 
android:divider="#ffffff" 
android:childDivider="#00000000"/> 

Antwort

0

android:divider die Eltern ziehbar oder die android:footerDividersEnabled/android:headerDividersEnabled könnte wählen, was Sie für den übergeordneten Ansichten suchen. Diese werden alle vom übergeordneten ListView geerbt.

Wie für untergeordnete Ansichten können wir Java-Methoden zur programmgesteuerten Einstellung betrachten, siehe Android docs on Expandable List. Zum Beispiel setChildDivider():

Legt die ziehbar, die jedes Kind in der Liste benachbarten gezogen werden wird. Dies wird mit der gleichen Höhe gezeichnet wie der normale Teiler (setDivider (Drawable)) oder wenn er keine Eigenhöhe hat, wird die Höhe von setDividerHeight (int) gesetzt.

Daher wird die verwendete Höhe durch setDividerHeight() oder die intrinsische Höhe festgelegt.

Ansonsten könnten Sie das xml-Layout der untergeordneten Ansicht ändern, um den Abstand zwischen den einzelnen zu verkleinern.

<LinearLayout 
    android:id="@+id/child_list_item" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    <!--no padding or margin-->/> 

EDIT:

Sie könnten versuchen, eine childDividerShape ziehbar wie so erstellen:

<?xml version="1.0" encoding="utf-8"?> 

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <size android:height="0dp"/> 
</shape> 

Und dann stellen Sie sie auf android:childDivider Attribut.

+0

Nichts funktionierte ... Wenn ich android hinzufüge: divider = 0dp entfernt es Raum von den Kindern sowie Eltern und von mehreren ausdehnbaren Ansichten. Ich möchte nur den Abstand von untergeordneten Ansichten entfernen. Ich versuche es programmatisch, aber das hat auch nicht funktioniert. – Ali

+0

Sorry zu hören, ich habe die Antwort mit einem Schnitt aktualisiert, ob das hilft! –

+0

Danke für Ihre Antwort .. Ich habe das gleiche schon einmal versucht, aber nicht funktioniert. Um den Platz von Kindansichten zu entfernen, muss ich den Teiler auf 0dp setzen. Welche auch den Raum von verschiedenen ausdehnbaren Ansichten entfernen. – Ali

Verwandte Themen