这种问题是因为ListView中的onMeasure方法没有测试实际的高度,我们只需重写该方法,设置AT_MOST模式支持最大的高度即可。 实现代码如下: 该方法是解决GradView问题,ListView同理。
public class ScrollGridView extends GridView { public ScrollGridView(Context context) { super(context); // TODO Auto-generated constructor stub } public ScrollGridView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } public ScrollGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub } @Override PRotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // TODO Auto-generated method stub int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }新闻热点
疑难解答