找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3127|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

Android動(dòng)態(tài)設(shè)置ListView高度

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:90014 發(fā)表于 2015-9-14 13:21 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
        private void setListViewHeightBasedOnChildren(ListView listView) {

                // 獲取ListView對(duì)應(yīng)的Adapter
                ListAdapter listAdapter = listView.getAdapter();
                if (listAdapter == null) {
                        return;
                }

                int totalHeight = 0;
                for (int i = 0, len = listAdapter.getCount(); i < len; i++) {
                        // listAdapter.getCount()返回?cái)?shù)據(jù)項(xiàng)的數(shù)目
                        View listItem = listAdapter.getView(i, null, listView);
                        // 計(jì)算子項(xiàng)View 的寬高
                        listItem.measure(0, 0);
                        // 統(tǒng)計(jì)所有子項(xiàng)的總高度
                        totalHeight += listItem.getMeasuredHeight();
                }

                ViewGroup.LayoutParams params = listView.getLayoutParams();
                params.height = totalHeight
                                + (listView.getDividerHeight() * (listAdapter.getCount() - 1))
                                + 100;
                // listView.getDividerHeight()獲取子項(xiàng)間分隔符占用的高度
                // params.height最后得到整個(gè)ListView完整顯示需要的高度
                listView.setLayoutParams(params);
        }


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表