作者YOOJTROOY (馬克思)
看板AndroidDev
標題[問題] 如何判斷圖片被滑過(HOVER)?
時間Fri Jun 12 10:10:26 2015
我在layout大概是這樣
L=LinearLayout
圖就是imageview
L圖圖圖圖圖圖
L圖圖圖圖圖圖
L圖圖圖圖圖圖
L圖圖圖圖圖圖
L圖圖圖圖圖圖
每張圖都有OnTouchListener跟OnHoverListener
首先我要按下一張圖onTouch觸發>作一些事情
然後手指要按住不放
然後其他圖片要監聽 被滑過就換背景(或是換圖之類的)
我google好久最接近的應該是hover
我記得網頁css做這個功能超簡單啊
public boolean onHover(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_HOVER_ENTER:
v.setBackgroundColor(Color.GRAY);
break;
case MotionEvent.ACTION_HOVER_MOVE:
// v.setBackgroundColor(Color.GRAY);
break;
}
return true;
}
但是都沒作用
之後我在onTouch就用座標去判斷
case MotionEvent.ACTION_MOVE:// 移動圖片時
// 手指滑到哪的座標
mx = (int) (event.getRawX());
my = (int) (event.getRawY());
//這方法判斷滑到哪個圖範圍內
nearby_center(mx, my);
break;
以上都不起作用
有沒有簡單好用像是css那種hover一樣的方法阿
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.74.188
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1434075028.A.100.html
→ egaryer: 應該要用多點觸控的方法? 06/12 10:57
→ YOOJTROOY: 只需要一隻手指滑過 06/12 11:13
→ YOOJTROOY: 剛剛又試了onfocuschange也不行 06/12 11:15
→ egaryer: 你就第一手指還要按住就做多點啊... 06/12 11:53
→ egaryer: 拍謝 更正一下 應該是要自己改寫onTouchEvent 06/12 13:34
→ egaryer: 滑過這功能要自己去抓view 06/12 13:35
→ YOOJTROOY: 那應該就是我下面寫的功能啊,可是沒反應 06/12 14:03
→ egaryer: 監聽器寫在圖上 但是點在圖外就沒作用 06/12 14:47
推 andy13579372: draglistener好像可以 用個透明的view當作被drag的 06/12 22:24
→ andy13579372: 東西 06/12 22:24