VerticalViewPager中嵌套ScrollView,导致ViewPager滑动失效问题解决

本文介绍了一种解决方法,通过自定义MyScrollView,在onTouchEvent中判断滑动方向,避免ViewPager与ScrollView的滑动冲突,确保两者正常交互。

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

public class MyScrollView extends ScrollView {

    private boolean mCanScroll = true;
    private float mDownY;

    public MyScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        switch (ev.getAction()) {
            case MotionEvent.ACTION_DOWN:
                mDownY = ev.getY();
                break;
            case MotionEvent.ACTION_MOVE:
                int scrollY = getScrollY();
		//滑到顶部或底部
		if ((scrollY == 0 && mDownY  <= ev.getY())
        		|| (getChildAt(0).getMeasuredHeight() == (scrollY + getHeight()) && mDownY >= ev.getY())) {
    	        mCanScroll = false;
		}
break; case MotionEvent.ACTION_UP: mCanScroll = true; break; case MotionEvent.ACTION_CANCEL: mCanScroll = true; break; } if (mCanScroll) { //通知ViewPager不要干扰自身的操作 getParent().requestDisallowInterceptTouchEvent(true); return super.onTouchEvent(ev); } else { getParent().requestDisallowInterceptTouchEvent(false); return false; } }}

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值