gpt4 book ai didi

Android:我可以创建一个不是矩形的 View / Canvas 吗?圆形的?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:47:57 27 4
gpt4 key购买 nike

我有一个圆形 View ,悬停在主要内容上方(-> 在从屏幕出来的 z 轴方向上)。当有人点击屏幕时,我想要选择主要内容或悬停在上方的 View ,当它覆盖主视图时。

到目前为止一切正常。我在透明 Canvas 上有一个圆形元素。这意味着您可以看到该圆圈之外的所有背景。但是,您不能选择它,因为它仍然是悬停 Canvas ,只是涂了一层透明颜料。

现在我想知道,要解决这个问题,是否可以将 View / Canvas 本身做成圆形?


更新

我添加了一张图片以更好地解释我试图实现的目标。 alt text

最佳答案

据我所知 - 这是不可能的。我检查了 View.java 的来源在 git.kernel.org 上,它基于 Rect 类——矩形定义位置、大小、要失效的区域等。(“ View 的几何形状是矩形的。”- 来自 View.java 中的评论)

至于 Canvas 类 - 它通常是在 Bitmap 或 GL 上构建的。位图绝对是一个矩形(矩阵),所以 Canvas 似乎也代表一个矩形。如果使用 GL,则指定一个视口(viewport)(也是一个矩形)。

这似乎是最明显的方法来检查传递给您的 onTouch() 方法的坐标是否适合您的区域,如果不适合则返回 false。然后事件将传递给下面的 View ,它应该处理事件。

关于Android:我可以创建一个不是矩形的 View / Canvas 吗?圆形的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3822193/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com