您的位置:首页 > 其它

关于ScrollView嵌套ListView的一些问题

2016-09-08 09:10 183 查看
一般都会遇到2个问题吧!

第一个问题:ListView为啥就显示一项?

第二个问题:为啥定位有点问题,没有从ScrollView的最顶部开始显示,而是从ListView的第一个item开始显示的?

先说第一个问题咋解决,一般就是重新ListView!

package com.example.lenovo.listview.view;

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

public class MyListview extends ListView {

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

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

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

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


也同时解决了滑动冲突的问题。

第二个问题的解决办法:让ScrollView中最顶部的控件去获取焦点,无论是一个ImageView还是一个ViewPager。代码中设置其获取请求焦点。例如:

imageView.setFocusable(true);
imageView.setFocusableInTouchMode(true);
imageView.requestFocus();


这样,ScrollView就可以完美的嵌套ListView了~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐