android - Android 可以处理不规则形状的事件吗?

标签 android events drawable shapes

据我所知(很少),Android 中的所有 View 都是正方形或长方形。这几乎一直都很好,直到你想要 - 我真正想要的 - 创建可以处理事件的非方形形状。

我的目标是将一个圆分成 3 个部分,每个部分 120°。圆圈的每个部分都应该像一个按钮。问题是,如果我们查看一个圆的 3rd 并将它们放在一个严格包含它们的方框中,它们就会相互重叠:不切实际地知道用户打算单击哪个...

我尝试使用自定义 View ,在其中绘制我的部分,但事件在 View 的所有表面上触发。

非常欢迎任何建议或方向。

谢谢,保罗

最佳答案

我相信处理这个问题的方法是在每个控件上覆盖 onTouch,对触摸坐标执行您自己的几何检查,如果它在自定义区域之外 return false 这会将事件传递给另一个 View 。否则返回调用该方法的 super 版本。我不是 100% 确定,所以如果我错了,请有人纠正我,但这值得一试。

关于android - Android 可以处理不规则形状的事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5607768/

相关文章:

actionscript-3 - 实例之间共享的 AS3 中央事件调度程序(非静态)

android - 可绘制土地与可绘制土地

android - 如何将 V24 可绘制对象转换为与旧 API 兼容的更低版本

java - 在 android 中从 byte[] 写入文件失败

excel - 单击 Excel 中的图像时触发 Office JS 事件

android - 无法在android studio中拖放一个简单的imageView

android - 在android中处理手机关机事件

java - 如何根据 Android 手机的分辨率将 PNG 文件定义为可绘制对象调整大小?

android - ContentProvider 和 ContentResolver 类中 query() 的区别

c# - 使用 Nash/Unity 将 ADF 导出到 Tango sdcard - ADF 写入权限被拒绝