事件分发机制

《android的事件分发机制》

匆匆过客 提交于 2019-12-09 12:47:43
先看代码 View inflate = LayoutInflater.from(this).inflate(R.layout.xxx, null); EditText viewById = (EditText) inflate.findViewById(R.id.edit_content); viewById.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { //这句话说的意思告诉父View我自己的事件我自己处理 v.getParent().requestDisallowInterceptTouchEvent(true); return false; } }); 其实就是很简单的v.getParent().requestDisallowInterceptTouchEvent(true)这一句就解决了所以问题。 Android 中与 Touch 事件相关的方法包括 1、dispatchTouchEvent(MotionEvent ev) 2、onInterceptTouchEvent(MotionEvent ev) 3、onTouchEvent(MotionEvent ev) 接下来就根据这3个