步骤
一:自定义ListView
public GridViewAll(Context context) {
super(context);
}
public GridViewAll(Context context, AttributeSet attrs) {
super(context, attrs);
}
public GridViewAll(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
只是重写了onMeasure的方法
这样还不行,页面显示出来会首先显示到listview的位置
二:滚动到页面顶部
在主页面onCreate函数里面,增加如下代码
Handler handler = new Handler();
handler.postDelayed(scvRunnable, 100);
时间可以自己调节下
private Runnable scvRunnable = new Runnable() {
@Override
public void run() {
sv.scrollTo(0, 0);// 改变滚动条的位置
}
};
滚动到页面顶部,坐标可自定义。
在onCreate中直接执行sv.scrollTo(0, 0);没有效果,应为view还没有准备好。