Как изменить размер ListView программно

1

Я работаю над новым приложением и хочу программно изменить размер ListView, например, из ListView с параметрами от 200x100 до 100x100.

Как я могу изменить размер измерения ListView?

Теги:

2 ответа

1
Лучший ответ

Используйте layoutParams для установки высоты и ширины программно:

Viewgroup.LayoutParams layoutParams = listView.getLayoutParams();
layoutParams.width = 100;
layoutParms.height = 100;
listView.setLayoutParams(layoutParams);
1
public void setListViewHeightBasedOnChildren(ListView listView) {
         ArrayAdapter listAdapter = (ArrayAdapter) listView.getAdapter(); 
            if (listAdapter == null) {
                // pre-condition
                return;
            }
            int totalHeight = 0;
            for (int i = 0; i < listAdapter.getCount(); i++) {
                View listItem = listAdapter.getView(i, null, listView);
                listItem.measure(0, 0);
                totalHeight += listItem.getMeasuredHeight();
            }

            ViewGroup.LayoutParams params = listView.getLayoutParams();
            params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
            listView.setLayoutParams(params);
            listView.requestLayout();
        }
  • 1
    Спасибо сейчас попробую

Ещё вопросы

Сообщество Overcoder
Наверх
Меню