Android: ExpandableListView с процентами

То, чего я пытаюсь достичь, довольно просто. Я хочу иметь полноэкранный ExpandableListView, в котором есть каждая группа высоты deviceHeight/4 и высота каждого дочернего элемента deviceHeight/8. Например, этот список может содержать более 4 групп, поэтому его также следует прокручивать.

Это должно выглядеть примерно так:

введите здесь описание изображения

Как лучше всего это сделать? :D


person dragos.triteanu    schedule 22.05.2016    source источник
comment
Я думаю, вы могли бы реализовать собственный адаптер и в своем getGroupView получить высоту ExpandableListView, разделить ее на четыре и установить результат как высоту представления перед его возвратом. Точно так же в getChildView разделите на 8.   -  person Aleks G    schedule 23.05.2016
comment
Да, но так как список еще не отрисован, его высота практически равна 0, так что этот подход не работает :(   -  person dragos.triteanu    schedule 23.05.2016
comment
В этом случае вы можете попробовать расширить класс ExpandableListView и в конце его onMeasure сделать notifyDataSetChanged на адаптере — это вызовет перерисовку элементов — после того, как станут известны измерения списка.   -  person Aleks G    schedule 23.05.2016


Ответы (1)


Решение, которое работает, заключается в выполнении того, что предлагается здесь: Определение размер представления Android во время выполнения, а затем выполнить convertView.setMinimumHeight(_listHeight/4);где listHeight вычисляется в OnGlobalLayoutListener.

Хотя этот подход работает хорошо, я все еще надеялся на подход, при котором я предполагал дать GroupView высоту в процентах (25%).

person dragos.triteanu    schedule 25.06.2016