首页 > 代码库 > Android之ScrollView嵌套ListView冲突 (listView只显示一行)

Android之ScrollView嵌套ListView冲突 (listView只显示一行)

在ScrollView中嵌套使用ListView,ListView只会显示一行多一点。两者进行嵌套,即会发生冲突。
由于ListView本身都继承于ScrollView,一旦在ScrollView中嵌套ScrollView,
那么里面的ScrollView高度计算就会出现问题。
我们也就无法得到想要的效果。
下面进入正题,我们将讨论ScrollView中嵌套ListView情况。
核心解决方案: 重写ListView或者GridView的OnMesure 方法。对GridView同样适用。

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,

    MeasureSpec.AT_MOST);

    super.onMeasure(widthMeasureSpec, expandSpec);

}

Android之ScrollView嵌套ListView冲突 (listView只显示一行)