完美解决ScrollView嵌套ListView或GridView冲突
方法1:
手动给ListView或者GridView设置固定的高度
<GridView
android:id="@+id/gv_home_recommend"
android:layout_width="match_parent"
android:layout_height="500dp"
>
</GridView>
方法2:
自定义可适应的ScrollView的ListView或GridView
具体实现代码:
import android.content.Context;
import android.util.AttributeSet;
import android.widget.GridView;
/**
* Created by kxx on 2016/10/12.
*/
public class GridViewForScrollView extends GridView {
public GridViewForScrollView(Context context) {
super(context);
}
public GridViewForScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public GridViewForScrollView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
@Override
/**
* 重写该方法,达到使ListView适应ScrollView的效果
*/
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}