private void measurePopUpDimension() { int widthSpec = MeasureSpec.makeMeasureSpec(getMeasuredWidth(), MeasureSpec.EXACTLY); int heightSpec = MeasureSpec.makeMeasureSpec(getPopUpHeight(), MeasureSpec.AT_MOST); listView.measure(widthSpec, heightSpec); popupWindow.setWidth(listView.getMeasuredWidth()); popupWindow.setHeight(listView.getMeasuredHeight() - dropDownListPaddingBottom); }
ListView lv_marca; lv_marca.setAdapter(adapter_marca); int list_height = getListViewHeight(lv_marca); private int getListViewHeight(ListView list) { ListAdapter adapter = list.getAdapter(); int listviewHeight = 0; list.measure(MeasureSpec.makeMeasureSpec(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); listviewHeight = list.getMeasuredHeight() * adapter.getCount() + (adapter.getCount() * list.getDividerHeight()); return listviewHeight; }
int getListViewHeight(ListView list) { ListAdapter adapter = list.getAdapter(); list.measure(View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); int listviewHeight = list.getMeasuredHeight() * adapter.getCount() + (adapter.getCount() * list.getDividerHeight()); return listviewHeight; }
public static void expandListViewHeight(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) return; ViewGroup.LayoutParams params = listView.getLayoutParams(); listView.measure(0, 0); params.height = listView.getMeasuredHeight() * listAdapter.getCount() + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); listView.setLayoutParams(params); }
@Override public void run() { int listviewHeight = actualListView.getMeasuredHeight(); MomentsItemView momentsItemView = adapter.getItemView(position); int itemHeight = momentsItemView.getMeasuredHeight(); actualListView.setSelectionFromTop(position + 2, listviewHeight - itemHeight); } }, 1000);