代码如下所示:
public class MyGridView extends GridView
{
public MyGridView(android.content.Context context,
android.util.AttributeSet attrs)
{
super(context, attrs);
}
/**
* 设置不滚动
*/
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
其中onMeasure函数决定了组件显示的高度与宽度;makeMeasureSpec函数中第一个函数决定布局空间的大小,第二个参数是布局模式MeasureSpec.AT_MOST的意思就是子控件需要多大的控件就扩展到多大的空间之后在ScrollView中添加这个组件就OK了,同样的道理,ListView也适用。
本文介绍如何在Android中解决ListView嵌套GridView时内容无法完全显示的问题。关键在于自定义GridView并重写onMeasure函数,利用makeMeasureSpec确保组件按需扩展。将此自定义组件添加到ScrollView或ListView中,即可实现内容完整显示。
291

被折叠的 条评论
为什么被折叠?



