安卓编程问题。怎么让悬浮窗中的view不拦截触摸事件,并将触摸事件传递给手机桌面?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓编程问题。怎么让悬浮窗中的view不拦截触摸事件,并将触摸事件传递给手机桌面?相关的知识,希望对你有一定的参考价值。

view在WindowManager中,WM已经设置成FLAG_NOT_TOUCH_MODAL,WM已经没问题了,那么怎么设置view的属性,让该view将触摸事件传递给被view遮挡的地方?(比如说:view被触摸点击了,但是view不拦截触摸事件,该事件传递给了被view遮挡的手机桌面)

麻烦各位直接上代码,你可是程序员啊!

可以这样。比如说你想传递给被遮住的View,那么遮住的View肯定会依附在某个Activity上,那就调用:
event.setLocation(event.getRawX(), event.getRawY());
((Activity) getContext()).dispatchTouchEvent(event);
前提是,你创建这个悬浮窗View的时候,是用的那个你想传递的Activity的Context来创建的。
参考技术A 虽然回答的有点晚,还是回答给后来者看吧:设置flag为不可点击就可以点击穿透到桌面了,params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE; 参考技术B Activity 不是父类视图是没有onInterceptTouchEvent这个回掉方法的android里面只有可以作为双亲的视图才会有onInterceptTouchEvent意思是阻止子事件向子视图传递,如果你是想截获Touch事件的话可以重写Activity的dispatchTouchEvent,这个是表层的Touch的第一入口 参考技术C 大哥解决了吗,我也碰到了这个问题,快崩溃了! 参考技术D 正巧我也是查百度,搜到这个问题,然后被一楼的同学点悟了,给后来者看看,我自己试过能行哦。

设置layoutParams的flag,记得是两个啊。如下。

layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;

iOS 识别触摸但不拦截

【中文标题】iOS 识别触摸但不拦截【英文标题】:iOS Recognize that a touch was made but don't intercept it 【发布时间】:2012-04-05 12:28:21 【问题描述】:

我有一个我正在展示的视图。该视图与 UITableView 出现在同一屏幕上。当触摸屏幕上的任何位置时,我想关闭视图,但我不想阻止该触摸到达其目标。例如,如果用户去滚动表格视图或选择一个单元格或任何东西 - 我想知道这样我可以关闭视图,但我希望用户触摸的任何东西都能像往常一样做出反应。任何帮助都会很棒。

【问题讨论】:

【参考方案1】:

在该 UIView 的类上实现 hitTest:withEvent: 方法。检查触摸的位置。如果您的视图框架不包含它 - 关闭视图。

【讨论】:

【参考方案2】:

希望对你有帮助:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 

  UITouch *touch = [[event allTouches] anyObject];

 CGPoint location = [touch locationInView: touch.view];
  if(CGRectContainsPoint(tableView.frame, location) || CGRectContainsPoint(anyOtherObject.frame, location))
 
    [self performAction];
 
[self.view removeFromSuperView];

【讨论】:

【参考方案3】:

如果您使用 UIPopover 或 UIActionSheet,它将几乎完全显示此行为。我在 UITableView 和嵌入在 UIView 中的 UITableView 上完成了此操作。

【讨论】:

以上是关于安卓编程问题。怎么让悬浮窗中的view不拦截触摸事件,并将触摸事件传递给手机桌面?的主要内容,如果未能解决你的问题,请参考以下文章

Android 悬浮窗如何能让它和他的的下层一起响应触摸事件?

触摸事件拦截整理

安卓监听触摸事件,以及各种按键 处理

word文档中表格中文字的颜色怎么改

触摸屏sensor为啥要设计那么多小悬浮块呀

让安卓手机秒变iphone的神器,来了!!