2 qq 28210079 qq_28210079 于 2018.03.09 11:18 提问

Android全屏WindowManager覆盖View可点击,窗口上View也可点击 10C

全屏的WindowManager ,会把ontouch 拦截掉,或者就是获取不到ontouch,怎么可以实现
窗口获取ontouch 下面的view也可以获取ontouch

3个回答

jsbylzy
jsbylzy   2018.03.09 11:41

你可以参考下我的列子
全屏应用上浮一层未全屏的view(view上有button控件),
若是没有点击到view上的button控件,事件分发到下一层全屏应用上,
若是点击了button,则进行事件消费,不会分发到下一层全屏上。
对view进行ontouch监听
图片说明
更改view的LayoutParams flag
图片说明

qq_28210079
qq_28210079 调用的时候不能实时改变啊
4 个月之前 回复
qq_28210079
qq_28210079 这个方法是不是在ontouch
4 个月之前 回复
qq_28210079
qq_28210079 ok 我试一下
4 个月之前 回复
qq_34181593
qq_34181593   2018.03.09 15:32

全屏应用上浮一层未全屏的view(view上有button控件),
若是没有点击到view上的button控件,事件分发到下一层全屏应用上,
若是点击了button,则进行事件消费,不会分发到下一层全屏上。
对view进行ontouch监听
图片说明
更改view的LayoutParams flag
图片说明

baidu_30233079
baidu_30233079   2018.03.09 11:23

重写view ontouch事件里面返回false

baidu_30233079
baidu_30233079 不过我觉得还是有机会的,你试试把这三个接口都重写dispatchTouchEvent(事件的分发),onInterceptTouchEvent(事件的拦截),onTouchEvent(事件的处理)。
4 个月之前 回复
qq_28210079
qq_28210079 悬浮窗,两个view是可以,windowmanager,是不在一个层级
4 个月之前 回复
baidu_30233079
baidu_30233079 你说的windowmanager真没用过,两个view的可以。为啥用windowmanager?
4 个月之前 回复
baidu_30233079
baidu_30233079 可以的,我以前就这样实现过,如果只重写ontouch不行,你可以把dispatch接口也重写。一定可以的
4 个月之前 回复
qq_28210079
qq_28210079 是windowmanager 重新view没有用 穿透不到下面
4 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!