今天在写小demo时就发现在ScrollView里同时嵌套了ListView布局和一个轮播图之后就只有ListView在滚动而轮播不会被覆盖,就找了很多博客,发现都是因为ListView和ScrollView的滚动存在冲突,只需要禁用了ListView的滚动就可以解决,然后尝试了很多的方法后都不行,最后发现自定义ListView控件然后在XML文件中直接引用自定义ListView控件就可以了,上代码:
//因为ScrollView和ListView之间存在滚动冲突,需要取消ListView的滚动来使ScrollView里的所有控件可以正常滚动
//自定义控件用来取消List View的滚动
public class NoScrollListview extends ListView {
public NoScrollListview(Context context, 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);
}
}