【问题标题】:how can I create a custom clickable shape on an image in android?如何在android中的图像上创建自定义可点击形状?
【发布时间】:2015-04-14 11:25:46
【问题描述】:

我想创建一个可点击的图片,我的图片中有一些不同的可点击部分,比如这个:

我想绘制一个自定义形状,如: A,B,C,D,E,F 并确保当用户点击这个事情发生。 问题是我没有任何想法,如何创建像图像中的形状一样的形状,确保它只是固定在图像上,并且在不同的屏幕尺寸下看不到聚集的东西。

【问题讨论】:

  • 简化你的生活:在RelativeLayout中,使用这个作为背景,然后在这个上面放一些(普通的)矩形ImageViews。允许某个近似值。
  • 是的,这是最简单的方法,但 bcz 图像是一些计划,y 可能有非常糟糕的形状和矩形、正方形和圆形无法帮助我。
  • 或者...做一个可点击的图例!所以你会在平面图下方有一些按钮,每个按钮都有一个彩色背景和一个字母(即:F、D 和 B 带有粉红色背面,E 带有绿色背面和 A 和 C 带有蓝色背面)。这甚至更简单
  • 是的,这是我的最后一个计划,如果我不能创造并实现我的目标,我会这样做;)@der-golem

标签: java android android-custom-view shapes


【解决方案1】:

这样的图片会多吗?

如果不是,我建议您为每个区域创建蒙版图像,其中图像的黑色部分代表该区域,白色部分不包括其余部分。

绘制图像:

处理点击事件:

优化:

  • 创建按比例缩小的蒙版图像
  • 在比较期间按比例因子划分触摸位置

这并不理想,但我认为使用向量的解决方案并非易事

【讨论】:

  • 让我检查 android 图像映射,如果它不起作用,我就这样。但我认为这种方式似乎有点难,对我来说需要时间,bcz 有 18 张图片,或多或少,
【解决方案2】:

将其作为图像并为该图像设置OnclickListner

【讨论】:

  • tnx 但这种方式无法帮助我想要图像上的一些可点击区域。
  • 采用一个布局并将其高度宽度设置为您要在哪个区域设置点击...而不是在该布局中添加图像,现在整个布局的 setonclick 事件...
  • 这对他也无济于事,因为您仍在使用矩形区域。他需要在 ImageView 上绘制区域并处理每个区域的点击事件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多