apk地址:(体验:2-3指缩放移动,4指翻页)
或手机扫码下载:
上一页和下一页btn 手指触控与笔写触控的模式切换btn 缩放btn
不拦截子view的事件 子view.requestDisallowInterceptTouchEvent()等操作后事件流仍然能被本容器感知
项目根目录的gradle文件 buildscript.repositories{ maven { url "https://jitpack.io" } } allprojects.repositories{ maven { url "https://jitpack.io" } }
module的gradle文件 implementation 'com.github.jj532655203:TouchAwareConstraintLayout:1.0.1'
CTRL+SHIFT+N找到TouchAwareConstraintLayout.java
请保证容器内部有控件会消费事件,如本项目中的viewpager2的条目view构造函数中添加会消费事件流的view,若条目view想处理事件,再拦截即可 View view = new View(context); view.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Log.d(TAG, "SamplePageView onTouch"); return true; } }); LayoutParams params = new LayoutParams(-1, -1); addView(view, params);
有问题欢迎issue,我会及时修复并更新版本
本项目涉及到的全面的事件分发机制、多点触控等知识是基础有重要的哦,建议clone研究,觉得好请star吧 :)