摘要:很多時(shí)間我們?cè)谥星度氲臅r(shí)候,都只能看到顯示一行數(shù)據(jù),而我們的要求是顯示多行,即我們數(shù)據(jù)的行數(shù),當(dāng)?shù)母叨仍O(shè)定一定的值時(shí),同樣地會(huì)顯示對(duì)應(yīng)的高度的。那么請(qǐng)看下面的代碼如果沒有設(shè)置數(shù)據(jù)適配器,則沒有子項(xiàng),返回。
很多時(shí)間我們?cè)趕corllview中嵌入listview的時(shí)候,都只能看到listview顯示一行數(shù)據(jù),而我們的要求是顯示多行,即我們數(shù)據(jù)的行數(shù), 當(dāng)ListView的高度設(shè)定一定的值時(shí),ListView同樣地會(huì)顯示對(duì)應(yīng)的高度的Item。 因此我們可以計(jì)算出這個(gè)ListView的總高度,再將它設(shè)置到ListView中,那么之前的滾動(dòng),高度問題也就不存在了。那么請(qǐng)看下面的代碼:
private void fixListViewHeight(ListView listView) { // TODO Auto-generated method stub // 如果沒有設(shè)置數(shù)據(jù)適配器,則ListView沒有子項(xiàng),返回。 ListAdapter listAdapter = listView.getAdapter(); int totalHeight = 0; if (listAdapter == null) { return; } for (int i = 0, len = listAdapter.getCount(); i < len; i++) { View listViewItem = listAdapter.getView(i , null, listView); // 計(jì)算子項(xiàng)View 的寬高 listViewItem.measure(0, 0); // 計(jì)算所有子項(xiàng)的高度和 totalHeight += listViewItem.getMeasuredHeight(); } ViewGroup.LayoutParams params = listView.getLayoutParams(); // listView.getDividerHeight()獲取子項(xiàng)間分隔符的高度 // params.height設(shè)置ListView完全顯示需要的高度 params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1)); listView.setLayoutParams(params); }
原文詳情地址:http://git.oschina.net/einsqi...
wemall官網(wǎng)地址:http://www.wemallshop.com
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/69843.html
摘要:和這兩個(gè)控件想必大家都不會(huì)陌生,但是這兩者嵌套使用的時(shí)候就會(huì)出現(xiàn)麻煩。那我們?cè)撛趺崔k呢別著急,有一個(gè)簡(jiǎn)單的方法可以起死回生。這些步驟是為了保證的高度不出現(xiàn)問題。 ScrollView和ListView這兩個(gè)控件想必大家都不會(huì)陌生,但是這兩者嵌套使用的時(shí)候就會(huì)出現(xiàn)麻煩。比如,我們?nèi)绻朐贚istView下面添加其他的布局或者控件,然后想讓它們作為一個(gè)整體都可以滑動(dòng)的話,最常想到的就是用一...
閱讀 1747·2019-08-30 12:51
閱讀 735·2019-08-29 17:30
閱讀 3796·2019-08-29 15:17
閱讀 912·2019-08-28 18:10
閱讀 1461·2019-08-26 17:08
閱讀 2243·2019-08-26 12:16
閱讀 3522·2019-08-26 11:47
閱讀 3572·2019-08-23 16:18