2012-02-15 80 views
3

我不久前开始研究Android,并且遇到了一个问题,我应该用哪个方法来解决简单的任务。假设我有一个视图(也许是一个按钮),我希望用户能够用手指在屏幕上移动它。在AbsoluteLayout被弃用之前,正确的方法很明显。我会根据相应的事件改变视图的位置。但是现在是什么?用手指移动视图

回答

0

如果您尝试移动视图以浏览应用或页面中的图片,Android会提供一组widgets来执行此类操作。如果你想,比方说,在大型图像平移,也许这将帮助:使用的FrameLayout和更新marginLeft和marginTop

您可以添加多个孩子框架布局Image in Canvas with touch events

0

IM,虽然这不是由于多个解决方案问题而推荐。

android docs:

的FrameLayout

被设计为阻挡的区域在屏幕上显示 单个项目。一般来说,FrameLayout应该用于保存子视图,因为可以很难以 的方式组织子视图,这种方式可以扩展到不同的屏幕尺寸,而不需要儿童 彼此重叠。但是,您可以使用android:layout_gravity 属性将多个孩子添加到FrameLayout中,并将其在FrameLayout中的位置控制为 ,从而为每个孩子分配重力。

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

+0

这仅适用于一个视图,容器中可能有多个视图。 – 2012-02-15 09:35:38

+0

您可以添加多个视图到框架布局。 – ravyoli 2012-02-16 11:46:11

+0

could!=应该 – dbm 2012-03-01 14:31:56

5

创建自己的自定义视图并添加onTouch事件侦听器。这很简单。很好地解释了here

+0

我会读。虽然那篇文章对我来说有点“太多”,至于我的简单问题...... – 2012-02-15 09:37:45