在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...