【发布时间】:2020-05-28 06:05:16
【问题描述】:
我的应用中有一个蓝图图像。用户将能够点击一些预先建立的点,在他们点击这个点后,一个对话框将显示一些信息。
我的问题是如何在 ImageView 蓝图中添加特定点以及这些点上的点击功能?
编辑 08/08/2014
我的 ImageView 现在具有捏缩放功能,并且该应用将拥有超过 1 个蓝图。
感谢和问候!
【问题讨论】:
标签: android onclick imageview pinchzoom
我的应用中有一个蓝图图像。用户将能够点击一些预先建立的点,在他们点击这个点后,一个对话框将显示一些信息。
我的问题是如何在 ImageView 蓝图中添加特定点以及这些点上的点击功能?
编辑 08/08/2014
我的 ImageView 现在具有捏缩放功能,并且该应用将拥有超过 1 个蓝图。
感谢和问候!
【问题讨论】:
标签: android onclick imageview pinchzoom
您可以通过多种方式解决此问题。如果您的蓝图在用户设备上是全屏的,那么您可以创建自己的自定义布局来封装图像视图并覆盖 ViewGroup 的 onDraw 和 onTouch 方法来添加您的点。然后你可以有一个类似的方法
public void addPoints(float[] points) { // do something here }
另一种选择是扩展 ImageView 本身并制作您自己的自定义图像视图,然后再次覆盖 onDraw 并将点覆盖在图像的顶部。您可以将位图(您的蓝图)设置为背景,然后放在上面。您必须根据图像和设备的大小确定特定点的位置,除非您将大小设置为与像素密度无关。
【讨论】:
首先想到的是您可以在 XML 文件中使用 RelativeLayout。如果您愿意,这允许您将元素叠加在一起。您可以使用它在图像上方放置不可见的按钮。
使用RelativeLayout,可以使用其边距属性来定位每个按钮,并且通过为其背景分配透明颜色并且不提供文本来使按钮不可见应该相当简单。
【讨论】: