NestedScrollView中child首次点击无效

问题发生

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值