`
cn_arthurs
  • 浏览: 321574 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ScrollView与ListView,GridView冲突问题

阅读更多

在一个布局文件中 ,既有GridView还有其他元素的情况下,如果GridView数据太多,会将显示内容撑出屏幕以外,无法预览,也无法滚动.因此我们需要在布局的最外层添加一个ScrollView使其可以滚动.

 

但是这样做了之后,GridView的高度被固定了,gridview的内容比较多时,数据会显示不全.

 

解决方案:

自定义子类继承ListView和GridView,重写onMeasure方法

import android.content.Context;
import android.util.AttributeSet;
import android.widget.GridView;

public class InnerGridView extends GridView {

	public InnerGridView(Context context) {
		super(context);
	}

	public InnerGridView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
	}

	public InnerGridView(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

	protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
		int expandSpec = MeasureSpec.makeMeasureSpec(  
                Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
		super.onMeasure(widthMeasureSpec, expandSpec);
	}
	
}

 

 

 参考:

http://www.2cto.com/kf/201210/159540.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics