在我的onTouch(View view, Motionevent event)
方法中,view.getY()
始終返回相同的值(0.0)。我想查看正在觸摸什麼視圖並將其與int Y = event.getRawY()
進行比較。會有這樣的事情嗎?Android onTouch查看返回null
原因是我的佈局中有幾個動畫字段,我想根據哪個被觸摸的不同來爲每個視圖設置不同的動畫。我會欣賞任何建議或想法。預先感謝您
在我的onTouch(View view, Motionevent event)
方法中,view.getY()
始終返回相同的值(0.0)。我想查看正在觸摸什麼視圖並將其與int Y = event.getRawY()
進行比較。會有這樣的事情嗎?Android onTouch查看返回null
原因是我的佈局中有幾個動畫字段,我想根據哪個被觸摸的不同來爲每個視圖設置不同的動畫。我會欣賞任何建議或想法。預先感謝您
我這樣做是爲了解決我的問題:
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,做我想做的事情。
首先檢查api參考。請參閱View.getY和Motionevent.getRawY。
嗨,downvote?我爲我的問題添加了一條評論。我解決了這個問題,並會在兩天內發佈我所做的。我想使用onTouch視圖,因爲它看起來更乾淨。我最終爲所有動畫位設置了一個id,並使用switch(view.getId()){case 1:// some code break;}在'MotionEvent.ACTION_UP'中完成了我想要的操作。 – Lunchbox
修好了,會過兩天發帖回覆 – Lunchbox