用手指移动视图

3

我不久前开始学习Android,有一个与解决简单任务相关的问题。假设我有一个视图(可能是一个按钮),我希望用户可以用手指在屏幕上移动它。在AbsoluteLayout被弃用之前,正确的方法似乎很明显。我只需要根据相应的事件改变视图的位置即可。但现在应该怎么做呢?

3个回答

5
创建自定义视图并添加一个onTouch事件监听器。非常简单。在这里很好地解释了

我会读这篇文章的。虽然对于我的简单问题来说,这篇文章似乎有点“过于复杂”了... - Andrey Kon

0

如果您想通过视图来浏览应用程序或在画廊中翻页查看图片,Android提供了一系列小部件来完成这些操作。如果您想要在大型图片上平移,也许这篇文章可以帮到您:使用触摸事件在画布中显示图片


0

我正在使用FrameLayout并更新marginLeft和marginTop。

您可以将多个子项添加到FrameLayout中,但由于多个分辨率问题,不建议这样做。

来自android文档:

FrameLayout旨在阻止屏幕上的某个区域以显示单个项目。通常,应该使用FrameLayout来容纳单个子视图,因为很难以一种可扩展到不同屏幕大小的方式组织子视图,而不会使子视图重叠。但是,您可以将多个子项添加到FrameLayout中,并通过为每个子项分配重力(使用android:layout_gravity属性)来控制它们在FrameLayout中的位置。

这个“警告”不适用于您的情况,因为您明确根据用户触摸事件设置了边距。


这仅适用于一个视图,而容器中可能有多个视图。 - Andrey Kon
您可以将多个视图添加到帧布局中。 - ravyoli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接