2013-10-01 91 views
0

在我的onTouch(View view, Motionevent event)方法中,view.getY()始終返回相同的值(0.0)。我想查看正在觸摸什麼視圖並將其與int Y = event.getRawY()進行比較。會有這樣的事情嗎?Android onTouch查看返回null

原因是我的佈局中有幾個動畫字段,我想根據哪個被觸摸的不同來爲每個視圖設置不同的動畫。我會欣賞任何建議或想法。預先感謝您

+0

修好了,會過兩天發帖回覆 – Lunchbox

回答

0

我這樣做是爲了解決我的問題:

LinearLayout animLayout = new LinearLayout(this); 
animLayout.addView(//add some view); 
animLayout.setId(1) 
animLayout.setOnTouchListener(this); 

@Override 
public boolean onTouch(View view, MotionEvent event){ 
    case MotionEvent.ACTION_UP 
     switch (view.getId()} 
     case 1: 
      //My code 
      break; 
     } 
     break; 
    } 
} 

基本上,給我的觀點的ID,在我onTouch得到一個開關的情況下ID,做我想做的事情。

0

首先檢查api參考。請參閱View.getY和Motionevent.getRawY。

+0

嗨,downvote?我爲我的問題添加了一條評論。我解決了這個問題,並會在兩天內發佈我所做的。我想使用onTouch視圖,因爲它看起來更乾淨。我最終爲所有動畫位設置了一個id,並使用switch(view.getId()){case 1:// some code break;}在'MotionEvent.ACTION_UP'中完成了我想要的操作。 – Lunchbox