您的位置:首页 > 移动开发 > Android开发

NestedScrollView中child首次点击无效

2016-04-17 11:11 483 查看

问题发生

NestedScrollView
是support v4包里提供的适应嵌套滑动的
ScrollView
,用法和
ScrollView
是相似的,这里不是讲它怎么使用,而是说它的一个Bug——在
NestedScrollView
里面的添加相关的子View,当滑动
NestedScrollView
之后,对于任何子View的首次点击事件都是无效的,第二次点击就是OK的。相关Issues

解决方案

public class NestedScrollView extends FrameLayout implements NestedScrollingParent, NestedScrollingChild {
...
private void initScrollView() {
...
// replace this line:
// mScroller = new ScrollerCompat(getContext(), null);
mScroller = ScrollerCompat.create(getContext(), null);
...
}

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
...
switch (action & MotionEventCompat.ACTION_MASK) {
...
case MotionEvent.ACTION_DOWN: {
...
// replace this line:
// mIsBeingDragged = !mScroller.isFinished();
mIsBeingDragged = false;
...
}
}
}
}


自己创建一个
NestedScrollView
重写两个方法,基本上就可以用了!!

具体请参考:

stackoverflow
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android