首页 > 学院 > 开发设计 > 正文

重写ListView onMeasure后,最后一条item显示不全的问题

2019-11-08 00:24:17
字体:
来源:转载
供稿:网友

当我们需要在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,如果需要可以在下一层进行设置。

最后。。。希望对看到的人有所帮助。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表