Android動態設定GridView的高度,固定column,實現高度自適應
阿新 • • 發佈:2018-12-27
動態設定GridView的高度,固定column,根據gridview中的item個數設定高度:
呼叫以下方法:
[java] view plain copy print ?
- public static void setListViewHeightBasedOnChildren(GridView listView) {
- // 獲取listview的adapter
- ListAdapter listAdapter = listView.getAdapter();
- if (listAdapter == null) {
- return
- }
- // 固定列寬,有多少列
- int col = 4;// listView.getNumColumns();
- int
- // i每次加4,相當於listAdapter.getCount()小於等於4時 迴圈一次,計算一次item的高度,
- // listAdapter.getCount()小於等於8時計算兩次高度相加
- for (int i = 0; i < listAdapter.getCount(); i += col) {
- // 獲取listview的每一個item
- View listItem = listAdapter.getView(i, null, listView);
- listItem.measure(0, 0);
- // 獲取item的高度和
- totalHeight += listItem.getMeasuredHeight();
- }
- // 獲取listview的佈局引數
- ViewGroup.LayoutParams params = listView.getLayoutParams();
- // 設定高度
- params.height = totalHeight;
- // 設定margin
- ((MarginLayoutParams) params).setMargins(10, 10, 10, 10);
- // 設定引數
- listView.setLayoutParams(params);
- }
再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://www.cnblogs.com/captainbed