视图可以在用户触摸屏幕的位置出现,然后消失吗?

Posted

技术标签:

【中文标题】视图可以在用户触摸屏幕的位置出现,然后消失吗?【英文标题】:Can a view appear at the location where the user touches the screen, and disappear? 【发布时间】:2010-11-19 22:07:32 【问题描述】:

我是安卓开发新手。视图(具有特定布局)是否有可能“出现”在用户“触摸”的位置?如果是这样,怎么做? 就像右键单击计算机的想法一样 - 无论您右键单击什么位置,都会弹出一个菜单。 当你离开时,它就会消失。

我希望我说的有道理:P 谢谢!

【问题讨论】:

正如 techiServices 指出的那样,有很多方法可以做到这一点,但该平台通常会为您尝试完成的工作提供更好的方法,例如上下文和选项菜单。你想实现什么用户功能? 【参考方案1】:

是的,你可以。您需要捕获触摸事件,例如覆盖 Activity 或 ViewGroup 上的 onTouchEvent。然后,您可以在触摸点充气并添加或使视图可见。有许多不同的方法可以实现这一点,具体取决于您使用的布局,即 AbsoluteLayout(尽管不推荐使用 iirc),您可以设置 x、y 位置或在代码或 xml 中添加视图,但使其不可见并将其移动到触摸指向它的矩阵(翻译)的主计算,然后使其可见。您甚至可以使视图出现,然后通过动画使用矩阵(平移)将其滑动到触摸点。

您甚至可以通过 onDraw 在普通位图等上完成所有这些操作。

【讨论】:

以上是关于视图可以在用户触摸屏幕的位置出现,然后消失吗?的主要内容,如果未能解决你的问题,请参考以下文章

在视图控制器演示动画期间响应触摸事件

触摸时图像,手指抬起时消失?

随时随地快速检测触摸

有人知道怎么实现触摸屏幕弹出的Toast立即消失的功能吗?

SWIFT:检测当前视图之外的触摸

解除键盘后,带有所选文本的UITextView不响应触摸