android scrollview和listview的嵌套问题
在实际的项目中,我们可能会碰到scrollview嵌套listview的情况,最好的解决方法是如果能把这个元素放到listview的headview是最好的。如果必须得嵌套在scrollview中,我们应该怎么做呢?
1、首先,在xml中将listview的高度设置为0;
2、在scrollview渲染之后,设置listview的高度为scrollview的高度,这样会形成一个吸顶效果;
ViewTreeObserver viewTreeObserver = mScrollView.getViewTreeObserver();
if (viewTreeObserver.isAlive()) {
viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
mScrollView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
int viewHeight = mScrollView.getHeight();
mListView.getLayoutParams().height = viewHeight;
}
});
}
3、需要调整scrollview的触屏事件处理