Können Sie mir helfen zu erkennen, warum zwischen der Gruppe und dem Kind ein Platz ist? In meinem Fall möchte ich Leerzeichen zwischen allen Gruppen und das Kind sollte direkt unter der Gruppe ohne Leerzeichen sein (aber natürlich Platz für die nächste Gruppe. Mein Problem sieht so aus:
Ich habe den Gruppenteiler auf dieses Zeichen gesetzt (expandable_list_group_divider):
%Vor%Und der Child-Teiler dazu (@ drawable / expandable_list_child_divider):
%Vor%Ich habe das Layout wie folgt in der XML definiert (es ist ein Compound-Steuerelement):
%Vor%Die benutzerdefinierte Ansichtsklasse:
%Vor%Und schließlich der erweiterbare Listenadapter
%Vor%Bild für Kommentare:
Dies ist getestet und funktioniert nachweislich, ich wollte sogar Monate später noch einmal darauf zurückkommen, weil keine der anderen Methoden mir Ergebnisse brachte, wie ich sie haben wollte. Diese werden genau so angezeigt, wie OP (und ich)
wolltenDas sind meine Gruppen oder Kategorien oder was auch immer. Grundsätzlich ist das erste lineare Layout nur ein Wrapper für eine Ansicht, die als Abstandhalter zwischen den Kategorien fungiert, und dann ein weiteres lineares Layout, das alle meine Formatierungen verarbeitet.
in der ExpandableListView (nicht gezeigt) habe ich die Teilerhöhe auf 0 gesetzt. Der Abstand wird stattdessen von den Ansichten
gehandhabt %Vor%Dann im Kind habe ich das.
%Vor%Angenommen, Sie möchten einen Abstand zwischen den Eltern, aber nicht zwischen Eltern & Amp; Kind. Ich habe es versäumt, einen angemessenen Weg zu finden, um es zu erreichen. Also habe ich keine intelligente Lösung vorgenommen, indem ich die Teilerhöhe nicht festgelegt habe, da ich für jedes übergeordnete Element ein benutzerdefiniertes Layout hatte, fügte ich daher ein LinearLayout mit einer festen Höhe von 25 dpi am oberen Rand meines benutzerdefinierten übergeordneten Layouts ein Ich konnte die Wunschfunktionalität erreichen, aber es gab einen Nebeneffekt, wenn Sie das Listenelement berühren, werden sowohl der Abstand als auch das Listenelement bei Berührung hervorgehoben.
Verwenden Sie den negativen Rand für die untergeordnete Ansicht in view_departure_details.Etwas wie folgt:
%Vor%Ich weiß, dass einige Leute es für eine schlechte Praxis halten, negative Ränder zu verwenden, aber richtig scheint es der einfachste Weg zu sein.
Andere Möglichkeit (der zeitaufwendige Weg) besteht darin, Ihre eigene erweiterbare Listenansicht zu implementieren, damit Sie besser steuern können, wie Dinge gezeichnet werden.
Um Teiler nur aus den untergeordneten Ansichten und nicht zwischen den Eltern in der erweiterbaren Liste zu entfernen:
Fügen Sie android: childDivider="# 00000000" in den ExapandableListView-Attributen in XML hinzu:
%Vor%Siehe Ссылка
Legen Sie die untergeordnete Ansicht programmgesteuert wie folgt fest:
expandableListView.setDividerHeight (1);
expandableListView.setChildDivider (neues ColorDrawable (Color.Black);
Und Gruppenansicht Von XML wie:
%Vor% Ändern Sie das Padding der Ansicht in der Methode public View getChildView()
mit dem setPadding () Methode der Ansicht.
Beispiel:
%Vor% Wenn Sie das Padding der Gruppe ändern möchten, müssen Sie das Padding in der getGroupView()
-Methode ändern.
Tags und Links java android expandablelistview