最近项目上遇到一个问题,页面最外层布局是一个FrameLayout,其内部有两层布局,底层是页面内容布局(可交互部分),上层是缺省布局,用于展示各种异常状况(比如未登录、无网络等)。
可是当缺省布局展示时,点击事件竟然还能传到底层内容布局。解决如下:
- 方法一:缺省布局 onTouch方法返回true。
//防止点击穿透问题 view.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { return true; } });
- 方法二:
或者setClickable(true);
android:clickable="true"