我想要定义一个全屏的ImageView,就像一个房间的图片,并且让我们说图片在墙上有一个明星,它做了一些事情。我想定义一个透明的按钮,让那个明星可以点击,但只能是明星的形状。我在互联网上用“热点”收集了一些东西,但我真的不知道如何实施它们,如果可以的话。Android在图像中的形状窗体的可点击区域
回答
对于所有情况都没有简单的方法。在ImageView小部件中,您应该在触摸位置测试像素颜色,然后接受触摸并处理它或放弃触摸事件。
简单的丢弃触摸事件的方法是将自定义的OnTouchListener设置为ImageView,如果触摸坐标超出星形,则 返回true。
难点在于了解触摸事件可以被删除。如果你有简单的形状,你可以使用一些数学来测试坐标是在你的形状之外还是之内。通用的方法是到draw a view to bitmap并测试像素颜色。如果它是透明的 - 丢弃事件,如果固体处理。
我没有代码,谷歌,我想你能找到一些)
ImageView的透明背景,是这样的:
<ImageView android:id="@+id/img_background" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/img_background" android:background="@android:color/transparent" />
的ImageButton与图标明星
<ImageButton android:id="@+id/img_star" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/icon_star" android:background="@android:color/transparent" />
,你应该在透明的背景也
我不想使用该星的ImageView但我想要一个形状采取形式的明星,我不知道像素检测的东西采取这种形式,如果工作 – 2015-02-06 11:39:23
看起来修改答案,你不会看到按钮背景,但只是明星 – Xcihnegn 2015-02-06 11:43:26
- 1. WPF中的图像地图/自定义形状的可点击区域 - WP7
- 2. 可点击区域图像
- 3. 在具有不规则形状的图像上制作可点击区域
- 4. 如何在Android中使图像可见区域可点击?
- 5. 在圆形JLabel图像周围创建可点击区域
- 6. 可变图像大小的可点击图像区域
- 7. 识别在Android中点击的图像区域?
- 8. 使SVG形状可以点击的完整边界区域
- 9. .JPEG图片中的可点击区域?
- 10. 在无序列表中增加可点击的图像区域
- 11. 图像具有多可点击区域/表面/区域
- 12. 在Chrome浏览器中CSS梯形形状可点击区域问题
- 13. 非矩形“可点击”区域
- 14. 在图像中创建可点击区域?
- 15. 如何用Android中的可点击区域表示蓝图
- 16. 的Java的JButton图像PNG可点击区域
- 17. 进行布局的背景图像的可点击区域
- 18. 安卓屏幕上的维恩图(图像/标签/形状),其区域可点击
- 19. Android:展开ImageView可点击区域
- 20. 正方形内的两个三角形可点击区域
- 21. 使图像在Android中可点击2
- 22. 在背景图像上设置可点击区域
- 23. 以编程方式在图像上创建可点击区域
- 24. 可点击图像 - android
- 25. 图片地区没有变成可点击区域的图像映射
- 26. Jquery的图像地图区域形状提示工具提示
- 27. 识别图像中的矩形区域
- 28. 在Photoshop中获取不规则形状的物体的像素区域
- 29. 可定位的可点击区域
- 30. 与可点击区域
可能是该库将帮助您https://github.com/catchthecows/AndroidImageMap – Muthu 2015-02-06 10:58:05