可以离开屏幕的可拖动叠加层?

Posted

技术标签:

【中文标题】可以离开屏幕的可拖动叠加层?【英文标题】:Draggable overlay that can go offscreen? 【发布时间】:2017-12-13 05:00:23 【问题描述】:

我创建了一个矩形覆盖菜单。

它在活动时显示在其他所有内容之上。所有其他应用、主屏幕等。

如果您单击此矩形之外的任何位置,您的点击就会命中 任何可见的。

如果您单击红色部分,则可以将菜单拖动到 屏幕。点击绿色部分执行一些功能。

我已经通过膨胀布局 xml 创建了这个矩形。矩形本身是一个 relativeLayout,绿色和红色部分都是 imageView 子级。

由于我无法将 relativeView 移出屏幕并且背景需要可点击,我唯一的解决方案是计算边距并将它们应用于相对视图以模仿所需的效果。

但是,计算这些边距的代码几乎有 50 行,而且相当复杂,如果其他人需要重构,一目了然难以理解。我可以发布代码,但我认为它与实际问题的上下文无关。

有没有一种我想念的更简单的方法来做到这一点?我的方法错了吗?

【问题讨论】:

这可能为时已晚。但是为什么需要一个可以让用户抓狂的浮动视图呢?不能停靠吗? 【参考方案1】:

希望这个简单的项目可以帮助到你android Floating Widget

【讨论】:

恐怕不行。该示例永远不会从屏幕上剪下。

以上是关于可以离开屏幕的可拖动叠加层?的主要内容,如果未能解决你的问题,请参考以下文章

阻止 UIView 离开屏幕

我可以使用哪些事件来通知控件它的一部分已离开屏幕的可视区域?

Swift 中的可拖动 UIButton/元素?

在 Actionscript 3 中拖动时检测鼠标离开阶段

PyGame-角色离开屏幕

JS - 防止鼠标离开屏幕