我想要定义一个全屏的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. 图像中的Android可点击区域
- 2. Android的形状按钮,点击区域
- 3. WPF中的图像地图/自定义形状的可点击区域 - WP7
- 4. 可点击区域图像
- 5. 在具有不规则形状的图像上制作可点击区域
- 6. 如何在Android中使图像可见区域可点击?
- 7. 可点击的图像区域
- 8. 试图使图像区域可点击
- 9. 在圆形JLabel图像周围创建可点击区域
- 10. 可变图像大小的可点击图像区域
- 11. 使SVG形状可以点击的完整边界区域
- 12. 识别在Android中点击的图像区域?
- 13. .JPEG图片中的可点击区域?
- 14. 在无序列表中增加可点击的图像区域
- 15. 图像具有多可点击区域/表面/区域
- 16. 在Chrome浏览器中CSS梯形形状可点击区域问题
- 17. HTML中图像的可点击区域的名称
- 18. 非矩形“可点击”区域
- 19. 增加图片的可点击区域
- 20. 在ListView项目中设置图像多个可点击区域?
- 21. 在图像中创建可点击区域?
- 22. 图像地图上的可点击区域
- 23. 如何用Android中的可点击区域表示蓝图
- 24. html中的区域形状
- 25. 的Java的JButton图像PNG可点击区域
- 26. 进行布局的背景图像的可点击区域
- 27. 安卓屏幕上的维恩图(图像/标签/形状),其区域可点击
- 28. Android:展开ImageView可点击区域
- 29. 正方形内的两个三角形可点击区域
- 30. 使图像在Android中可点击2
可能是该库将帮助您https://github.com/catchthecows/AndroidImageMap – Muthu 2015-02-06 10:58:05