[問題] 如何判斷圖片被滑過(HOVER)?

作者: YOOJTROOY (馬克思)   2015-06-12 10:10:26
我在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一樣的方法阿
作者: egaryer (egaryer)   2015-06-12 10:57:00
應該要用多點觸控的方法?
作者: YOOJTROOY (馬克思)   2015-06-12 11:13:00
只需要一隻手指滑過剛剛又試了onfocuschange也不行
作者: egaryer (egaryer)   2015-06-12 11:53:00
你就第一手指還要按住就做多點啊...拍謝 更正一下 應該是要自己改寫onTouchEvent滑過這功能要自己去抓view
作者: YOOJTROOY (馬克思)   2015-06-12 14:03:00
那應該就是我下面寫的功能啊,可是沒反應
作者: egaryer (egaryer)   2015-06-12 14:47:00
監聽器寫在圖上 但是點在圖外就沒作用
作者: andy13579372 (痘糖)   2015-06-12 22:24:00
draglistener好像可以 用個透明的view當作被drag的東西

Links booklink

Contact Us: admin [ a t ] ucptt.com