ScrollView嵌套ListView及ListView嵌套的高度計(jì)算方法
引言
在Android開發(fā)中,我們有時(shí)會(huì)需要使用ScrollView中嵌套ListView的需求。例如:在展示信息的ListView上還有一部分信息展示區(qū)域,并且要求這部分信息展示區(qū)域在ListView信息比較多的時(shí)候也是可以滑動(dòng)的,而不是固定不變的。這時(shí),我們一般會(huì)將ScrollView和ListView嵌套在一起使用。但是這會(huì)導(dǎo)致ListView展示不全,然后也會(huì)有滑動(dòng)沖突問題。下面我們來看看怎么解決。
解決方案
主動(dòng)計(jì)算和設(shè)置ListView的高度,這樣就可以合理的展示ListView的高度。代碼如下:
public void setListViewHeightBasedOnChildren(ListView listView) { // 獲取ListView對(duì)應(yīng)的Adapter ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return; } int totalHeight = 0; // listAdapter.getCount()返回?cái)?shù)據(jù)項(xiàng)的數(shù)目 for (int i = 0; i < listAdapter.getCount(); i++) { 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)); // listView.getDividerHeight()獲取子項(xiàng)間分隔符占用的高度 // params.height最后得到整個(gè)ListView完整顯示需要的高度 listView.setLayoutParams(params); }
以上這篇ScrollView嵌套ListView及ListView嵌套的高度計(jì)算方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android Recyclerview實(shí)現(xiàn)上拉加載更多功能
在項(xiàng)目中使用列表的下拉刷新和上拉加載更多是很常見的功能。下文給大家?guī)砹薃ndroid Recyclerview上拉加載更多功能,需要的朋友參考下吧2017-05-05Android實(shí)現(xiàn)類似IOS右滑返回的效果(原因分析及解決辦法)
這篇文章主要介紹了Android實(shí)現(xiàn)類似IOS右滑返回的效果,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-03-03Android編程使用自定義shape實(shí)現(xiàn)shadow陰影效果的方法
這篇文章主要介紹了Android編程使用自定義shape實(shí)現(xiàn)shadow陰影效果的方法,涉及Android中xml文件布局的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11Android中監(jiān)聽系統(tǒng)網(wǎng)絡(luò)連接打開或者關(guān)閉的實(shí)現(xiàn)代碼
本篇文章對(duì)Android中監(jiān)聽系統(tǒng)網(wǎng)絡(luò)連接打開或者關(guān)閉的實(shí)現(xiàn)用實(shí)例進(jìn)行了介紹。需要的朋友參考下2013-05-05Android如何實(shí)現(xiàn)壓縮和解壓縮文件
這篇文章主要介紹了Android實(shí)現(xiàn)壓縮和解壓文件的實(shí)例代碼,涉及到批量壓縮文件夾,解壓縮一個(gè)文件等方面的知識(shí)點(diǎn),本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-05-05詳解Android Activity中的幾種監(jiān)聽器和實(shí)現(xiàn)方式
這篇文章主要介紹了Activity中的幾種監(jiān)聽器和實(shí)現(xiàn)方式的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-04-04