當我們需要在ScrollView中嵌套ListView或GridView時,需要重寫onMeasure()方法,從而解決嵌套時的顯示不全問題,這個方法顯然是有效的。
@Override PRotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); }這樣就讓ListView或GridView全部顯示了。
但是當我們嵌套ScrollView的時候,容易產生另外一個我們以為是listview的問題的問題,就是ListView的最后一條item顯示不全,相信很多人都像我一樣以為問題出在了listview,
但其實問題是處在了ScrollView,ScrollView只能包含一個子節點,當我們給這個子節點設置android:layout_marginTop="xdp"時,之后,上面多出來了xdp的邊距,但是這卻導致了下面少了xdp,導致該滾動條拖不到最底端,就會出現最后一條item顯示不全,解決的辦法就是不要在第一層子節點設置marginTop,如果需要可以在下一層進行設置。
最后。。。希望對看到的人有所幫助。
新聞熱點
疑難解答