[問題] 不規則元件的點擊

看板AndroidDev作者 (失敗者)時間10年前 (2015/11/16 18:07), 10年前編輯推噓2(208)
留言10則, 4人參與, 最新討論串1/3 (看更多)
我自創RelativeLayout的子類別,內有多個ImageView是各種不規則圖片 public class Myrlyt extends RelativeLayout { public ImageView iv1, iv2; ..... } 在Activity中實體化了多個Myrlyt類別,裡面的ImageView都設了監聽 public class Main extends Activity { private RelativeLayout rlyt_main; private Myrlyt rlyt1, rlyt2; protected void setupViewComponent() { rlyt1.iv1.setOnTouchListener(touchListener); rlyt1.iv2.setOnTouchListener(touchListener); rlyt_main.addView(rlyt1); rlyt2.iv1.setOnTouchListener(touchListener); rlyt2.iv2.setOnTouchListener(touchListener); rlyt_main.addView(rlyt2); } .... } 想請教的是如何在rlyt1和rlyt2重疊時正確判定使用者點擊了哪張圖片 如下圖,rlyt2藍色,rlyt1紅色,當點擊重疊處就無法正確判定是rlyt1的ImageView ▁▁▁ ▕ ●▕ ▕ ▂▁▁ ▕▅ ▲▏ ▕▄▂█▏ █▏ 目前嘗試先判斷是不是點擊到rlyt2的ImageView圖片透明處, 我希望可以繼續判斷此點擊在rlyt1是不是透明,這裡實在不知道怎麼寫 無論如何謝謝你看到最後 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.2.79 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1447668450.A.2AF.html

11/16 23:46, , 1F
塞tag進每個item判別tag或是給4個itme ID,getView的id
11/16 23:46, 1F
有設ID,抱歉沒說明清楚

11/17 09:13, , 2F
監聽onclick不行嗎? 我記得預設點擊不會穿透
11/17 09:13, 2F

11/17 10:49, , 3F
藍色在蓋紅色上方,所以onclick會先到藍色imageview
11/17 10:49, 3F

11/17 10:50, , 4F
但是因為藍色左上腳是透明,使用者是想點紅色確實際藍色先點到
11/17 10:50, 4F

11/17 10:51, , 5F
我的初步想法是在listener先檢查點擊點是否為透明像素,
11/17 10:51, 5F

11/17 10:52, , 6F
若是透明的像素,則skip掉此onclick,touch event自然會被
11/17 10:52, 6F

11/17 10:53, , 7F
後面的imageview給收到?
11/17 10:53, 7F

11/17 16:20, , 8F
藍色ImageView收到touchdown,先getpixel判斷是否為透明
11/17 16:20, 8F

11/17 16:21, , 9F
11/17 16:21, 9F

11/17 16:23, , 10F
如果是藍色View的ontouch return false這樣event會往下
11/17 16:23, 10F
return false我還是不知道怎麼接收,謝謝大家的幫忙 ※ 編輯: loser0120 (175.182.2.79), 11/18/2015 07:27:01
文章代碼(AID): #1MIQhYAl (AndroidDev)
文章代碼(AID): #1MIQhYAl (AndroidDev)