麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Android > 正文

ScrollView與ListView合用(正確計算Listview的高度)的問題解決

2020-04-11 12:21:48
字體:
來源:轉載
供稿:網友

首先,ListView不能直接用,要自定義一個,然后重寫onMeasure()方法:

復制代碼 代碼如下:

@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
    int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, 
            MeasureSpec.AT_MOST); 
    super.onMeasure(widthMeasureSpec, expandSpec); 

第二步:寫個計算listView每個Item的方法:

復制代碼 代碼如下:

public void setListViewHeightBasedOnChildren(ListView listView) {

  // 獲取ListView對應的Adapter

  ListAdapter listAdapter = listView.getAdapter();

  if (listAdapter == null) {

   return;

  }

  int totalHeight = 0;

  for (int i = 0; i < listAdapter.getCount(); i++) { // listAdapter.getCount()返回數據項的數目

   View listItem = listAdapter.getView(i, null, listView);

   listItem.measure(0, 0); // 計算子項View 的寬高

   totalHeight += listItem.getMeasuredHeight(); // 統計所有子項的總高度

  }

  ViewGroup.LayoutParams params = listView.getLayoutParams();

  params.height = totalHeight
    + (listView.getDividerHeight() * (listAdapter.getCount() - 1));

  // listView.getDividerHeight()獲取子項間分隔符占用的高度

  // params.height最后得到整個ListView完整顯示需要的高度

  listView.setLayoutParams(params);

 }

第三步:listview添加適配器后設置高度即可:

復制代碼 代碼如下:

listView.setAdapter(adapter); 
new ListViewUtil().setListViewHeightBasedOnChildren(listView); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人片免费视频 | 国产精品剧情一区二区在线观看 | 欧美日韩亚州综合 | a视频在线免费观看 | 黄色免费不卡视频 | 92看片淫黄大片欧美看国产片 | 农村寡妇偷毛片一级 | 精品国产一区二区亚洲人成毛片 | 91成人天堂久久成人 | 国产精品欧美久久久久一区二区 | 草草视频免费 | 成人毛片网| 国产在线观看91精品 | 亚洲第一综合 | 国产乱轮视频 | 久久靖品 | 舌头伸进添的我好爽高潮网站 | 国产乱轮视频 | 羞羞视频免费观看入口 | 亚洲一级片在线观看 | 在线中文字幕网站 | 九九热视频这里只有精品 | 在线免费观看欧美 | 久章草在线观看 | 久久久久国产精品久久久久 | 国产精品美女久久久免费 | 97超级碰碰人国产在线观看 | 一级黄色毛片播放 | 日日天日日夜日日摸 | 免费网址黄| 成人免费入口 | a级高清免费毛片av在线 | 香蕉久久久久久 | 亚洲精品永久视频 | 成年免费网站 | 久久久一区二区三区精品 | 久久国产精品一区 | 久久网国产精品 | 欧美亚州 | 国产高潮好爽好大受不了了 | 欧美a级一区二区 |