ScrollView與ListView的相關問題

2021-07-10 05:11:10 字數 916 閱讀 5109

在scrollview中套用乙個listview,listview的高度不能全部顯示,這樣就達不到我們所需要的效果,所以在這裡我們需要重新計算listview的高度,網上計算listview的總高度的方法很多,我在這裡總結一下,貼出**:

public class listviewutil 

viewgroup.layoutparams params = listview.getlayoutparams();

params.height = totalheight + (listview.getdividerheight() * (listadapter.getcount() - 1));

獲取子項間分隔符占用的高度

最後得到整個listview完整顯示需要的高度

listview.setlayoutparams(params);}

}

注意:listitem.measure(0, 0);  //計算子項view 的寬高,其item布局必須為linearlayout,因為只有linearlayout才有measure()方法

法1:

scrollview裡面巢狀了乙個listview ,通過設定乙個方法設定了listview的高度 現在的情況就是進到這個介面的時候看到的不是最上面 而是中間 ,該問題的解決辦法為:

mscrollview.smoothscrollto(0,20);

如此以上**還是無效, 在**裡去掉listview的焦點 lv.setfocusable(false),再試下就可以了;

法2:跟edittext一樣,在父元素的屬性下面下下面這兩行即可,不用**設定。

android:focusableintouchmode="true"

android:focusable="true"

ScrollView與GridView滾動發生衝突

當gridview巢狀在scrollview裡時,發現gridview只顯示了一行。這是因為gridview有自己的滾動條,而scrollview也有自己的滾動條,兩者發生了衝突。解決方法是重寫gridview的onmesure方法,使其不再出現滾動條 public class mygridview...

ListView與ScrollView衝突解決方法

眾所周知listview與scrollview都具有滾動能力,對於這樣的view控制項,當scrollview與listview相互巢狀會成為一種問題 問題一 scrollview與listview巢狀導致listview顯示不全面 問題二 scrollview不能正常滑動 解決方式一 scroll...

ScrollView與ListView 的滑動衝突

當scrollview中要巢狀listview時,需要重寫listview的onmeasure 方法 override protected void onmeasure int widthmeasurespec,int heightmeasurespec 但是此時介面可能不會移到最上方,需要在scr...