当我们需要在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,如果需要可以在下一层进行设置。
最后。。。希望对看到的人有所帮助。
新闻热点
疑难解答