動態設定listview的高度

2021-07-11 06:09:20 字數 862 閱讀 3058

1.在scrollview中巢狀listview空間,無法正確的計算listview的大小,故可以通過**,根據當前的listview的列表項計算列表的尺寸。實現**如下:

private

void

setlistviewheightbasedonchildren(listview listview)

int totalheight = 0;

for (int i = 0; i < listadapter.getcount(); i++)

viewgroup.layoutparams params = listview.getlayoutparams();

params.height = totalheight

+ (listview.getdividerheight() * (listadapter.getcount() - 1));

listview.setlayoutparams(params);

}

使用該方法需要注意:子listview的每個item必須是linearlayout,不能是其他的,因為其他的layout(如relativelayout)沒有重寫onmeasure(),所以會在onmeasure()時丟擲異常。

2、 自定義listview,過載onmeasure()方法,設定全部顯示

**如下:

/**

* integer.max_value >> 2,如果不設定,系統預設設定是顯示兩條

*/public

void

onmeasure(int widthmeasurespec, int heightmeasurespec)

ListView動態的設定高度

android的listview需要動態的設定listview的高度滿足不同應用的需求。下面就是封裝好的動態設定listview的高度的方法 塊。todo set listviews height param listview param listadapter public void setlis...

listView 動態設定高亮

有時候,我們需要動態讓 listview 中的item高亮。比如如下場景。左邊是乙個listview 這個listview 的item是檔案列表 右邊是乙個imageview顯示。如下圖所示 實現方法 listview 的 adapter 繼承自 baseadapter 如下 public clas...

動態設定ViewPager的高度

當viewpager只是作為元素在乙個頁面時,他的高度設定使用match parent和wrap content都沒有效果,最後的結果就是顯示不出來,必須指定固定高度才能顯示出來,但是不會自適應,解決辦法 首先是重寫viewpager的onmeasure方法 package com.yang.dem...