Verwenden Sie setIndicatorBounds :
Legt die Zeichenbegrenzungen für die Indikatoren fest (mindestens die Gruppe Indikator ist davon betroffen; der Kind-Indikator ist davon betroffen Wenn die untergeordneten Indikatorgrenzen auf vererben gesetzt sind).
Eigentlich gibt es einen einfachen Weg.
Bearbeiten Sie Ihr mit der Gruppenansicht in Beziehung stehendes XML wie folgt:
%Vor% Sehen Sie, wie ImageView
rechts von TextView
ist.
Bearbeiten Sie Ihre ExpandableListAdapter
wie folgt:
Wie Sie sehen können, können Sie das Zeichen, das dem Gruppenstatus entspricht, leicht setzen.
Ich weiß, dass die Frage schon vor langer Zeit gestellt wurde, aber das könnte jemandem helfen.
Es gibt keinen direkten Weg, dies zu tun.
mIndicatorLeft und mIndicatorRight sind die beiden Felder in der ExpandableListView-Klasse, die die Position des Indikatorsymbols behandeln, und sie sind private Felder. Leider ist die Position des Indikators nicht wie erwartet in einem ordentlich definierten Layout festgelegt, sondern wird in dispandDraw () in ExpandableListView bestimmt. Ein Rechteck wird mit den Werten top / bottom und mIndicatorRight und mIndicatorLeft gezeichnet. In diesem Rect wird das Indikatorsymbol gezeichnet. Sie müssen die Position dieses Rect-Objekts mit dem Namen 'indicatorRect' ändern, um das Indikatorsymbol zu verschieben.
Um eine Vorstellung von den Dingen zu bekommen, können Sie dieses Beispiel sehen Ссылка Ändern Sie den Wert von textView padding in getGenericView () im Beispiel auf 0, Sie werden sehen, dass der Indikator den Text überlappen wird.
Ihre einzige Option besteht darin, den Quellcode von ExpandableListView abzurufen und diese mIndicatorRight- und mIndicatorLeft-Werte selbst festzulegen, indem Sie mIndicatorRight als item.getRight () und mIndicatorLeft als item.getRight () - 'Ihre Symbolgröße' festlegen.