![](/img/trans.png)
[英]How can I find the default Android resource (e.g. drawable etc) for a View
[英]Android: can I create a view/canvas that is not rectangular, but e.g. round?
我有一個圓形的視圖,懸浮在上面( - >在z軸方向從屏幕出來)的主要內容。 當有人點擊屏幕時,我想要選擇主要內容,或者當它覆蓋主視圖時,視圖懸停在上方。
到目前為止完美無缺。 我在透明帆布上有一個圓形物品。 這意味着您可以看到該圓圈之外的所有背景。 但是,您無法選擇它,因為它仍然是懸停的畫布,只有透明的顏料。
現在我想知道,要解決這個問題,是否有可能使視圖/畫布本身呈圓形?
更新
我添加了一個圖像,以便更好地解釋我試圖實現的目標。
據我所知 - 這是不可能的。 我已經在git.kernel.org檢查了View.java的來源,它基於Rect類 - rects定義位置,大小,區域以使其無效等。(“視圖的幾何形狀是矩形的幾何形狀。” - 來自View.java中的注釋)
至於Canvas類 - 它通常構造在Bitmap或GL上。 Bitmap絕對是一個矩形(矩陣),因此canvas似乎也代表了一個矩形。 如果使用GL,則指定視口(也是矩形)。
這似乎是最明顯的方法來檢查傳遞給你的onTouch()方法的坐標是否適合你的區域,如果沒有,則返回false。 然后事件將傳遞給下面的視圖,它應該處理事件。
可能與原始提問者不相關,但對於仍在尋找的任何人來說,看起來這將添加到L: https : //developer.android.com/preview/material/views-shadows.html#clip 。 View.setClipToOutline
方法允許您將視圖剪切為矩形,圓形或圓形矩形可繪制的形狀。
您需要指定Android選擇器以避免默認的懸停圖像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.