看板 AndroidDev 關於我們 聯絡資訊
我自創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
jknm0510a: 塞tag進每個item判別tag或是給4個itme ID,getView的id 11/16 23:46
有設ID,抱歉沒說明清楚
noartsarc: 監聽onclick不行嗎? 我記得預設點擊不會穿透 11/17 09:13
LZN: 藍色在蓋紅色上方,所以onclick會先到藍色imageview 11/17 10:49
LZN: 但是因為藍色左上腳是透明,使用者是想點紅色確實際藍色先點到 11/17 10:50
LZN: 我的初步想法是在listener先檢查點擊點是否為透明像素, 11/17 10:51
LZN: 若是透明的像素,則skip掉此onclick,touch event自然會被 11/17 10:52
LZN: 後面的imageview給收到? 11/17 10:53
ie875141: 藍色ImageView收到touchdown,先getpixel判斷是否為透明 11/17 16:20
ie875141: 層 11/17 16:21
ie875141: 如果是藍色View的ontouch return false這樣event會往下 11/17 16:23
return false我還是不知道怎麼接收,謝謝大家的幫忙 ※ 編輯: loser0120 (175.182.2.79), 11/18/2015 07:27:01