在触摸的图像上放置触摸区域,可以进行缩放缩放

时间:2011-02-23 20:21:52

标签: android

我正在寻找一种在图像上放置可触摸热点的方法。图像(带有键盘,扬声器按钮,握持等的桌面电话)位于包含在RelativeLayout内的Framelayout中,并且底部有几个按钮。我需要图像可以拖动,捏合/缩放,并且已经成功实现了这篇文章:
http://www.zdnet.com/blog/burnette/how-to-use-multi-touch-in-android-2/1747?tag=mantle_skin;content

我尝试了几种方法来嵌入热点,包括这种技术(来自ip332): http://groups.google.com/group/android-developers/browse_thread/thread/ffabb722efac62b2
使用点来确定热点。但随着拖累和缩放功能,这显然不起作用,因为无论何时拖动或缩放,点都会改变。每当检测到动作时,我都可以尝试手动调整onTouch方法中的所有热点位置,但这对我来说似乎有些毛茸茸。

在梦幻世界中,我想以某种方式将ImageButtons嵌入到图像中,并使图像和ImageButton随着拖动和移动而缩放和移动。放大。 ImageButtons还允许在按下热点时提供反馈(例如颜色变化等)。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您可以收听touch个事件,在ACTION_DOWN上保存触摸位置的x / y坐标,并将其与ACTION_UP上的那些进行比较。如果它们彼此非常接近且时间间隔小于X毫秒,则可以点击一下。

答案 1 :(得分:0)

我有同样的问题,我通过使用XY坐标定义我的热点来解决它,然后我根据父图像的缩放和比例变换进行翻译。使用这些变换的XY坐标,然后我绘制了一个位图,如果用户在XY区域内触摸(+/-边界大小),并且没有移动他们的手指超过某个阈值 - 那么我把它当作''点击“

有意义吗?

相关问题