Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: dragos.triteanuОтветов: 1

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

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

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

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

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

androidexpandablelistview

Ответы

Ответ 1 · рейтинг 1 · dragos.triteanu

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы