ScrollView嵌套ListView会出现显示不全和ListView上面的View被顶上去的等问题。
首先我们可以自定义一个ListView重写OnMesure(),下面是具体代码
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 defStyleAttr) { super(context, attrs, defStyleAttr); } public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int mExpandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, mExpandSpec); } }这样就解决了ListView显示不全的问题。
接下来是ListView上面的View被顶上去的问题,这里只需要两行代码就可以解决,在你需要显示在顶部的控件里面加上下面两个属性就行了。
android:focusableInTouchMode="true" android:focusable="true"这里基本就解决了ScrollView嵌套ListView的问题,如果其中还有我没提到的问题希望大家能够给我留言,谢谢!