2016-05-22 15 views
0

Was ich versuche zu erreichen, ist ziemlich einfach. Ich möchte eine Vollbildansicht ExpandableListView haben, die jede Gruppe von Höhe deviceHeight/4 und die Höhe jedes Kindes deviceHeight/8 hat. Diese Liste kann zB mehr als 4 Gruppen enthalten, also sollte sie auch scrollbar sein.Android: ExpandableListView mit Prozentsätzen

Es sollte etwas wie folgt aussehen:

enter image description here

Was ist der beste Weg, dies zu tun? : D

+0

Ich denke, Sie könnten benutzerdefinierte Adapter implementieren und in Ihrer getGroupView, erhalten Sie die Höhe der ExpandableListView, dividieren Sie es durch vier - und legen Sie das Ergebnis als Höhe der Ansicht, bevor Sie es zurückgeben. In getChildView, durch 8 dividieren. –

+0

Ja, aber da die Liste noch nicht gezeichnet ist, ist die Höhe praktisch 0, so dass dieser Ansatz nicht funktioniert :( –

+0

In diesem Fall können Sie versuchen, die ExpandableListView-Klasse zu erweitern Ende seiner 'onMeasure' wird 'notifyDataSetChanged' auf dem Adapter - dies würde das Neuzeichnen von Elementen erzwingen - _nach dem die Messungen der Listenansicht bekannt sind. –

Antwort

1

Eine Lösung, die durch tun funktioniert, ist, was hier vorgeschlagen wird: Determining the size of an Android view at runtime und dann convertView.setMinimumHeight(_listHeight/4); tun, wo listHeight im OnGlobalLayoutListener berechnet wird.

Obwohl dieser Ansatz gut funktioniert, hoffte ich immer noch auf einen Ansatz, bei dem ich GroupView die Höhe in Prozent (25%) geben sollte.

Verwandte Themen