我有一個自定義視圖,我稱之爲「節點」,它是自定義視圖組的子節點,名爲「NodeGrid」。 「NodeGrid」類更具體地擴展了RelativeLayout。Android:在自定義視圖組中使用自定義視圖的onTouchEvent
我已經在我的自定義視圖類下面的代碼片段(「節點」):
private boolean isBeingDragged = false;
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN)
{
isBeingDragged = true;
}
else if (event.getAction() == MotionEvent.ACTION_UP)
{
isBeingDragged = false;
}
else if (event.getAction() == MotionEvent.ACTION_MOVE)
{
if (isBeingDragged)
{
float xPosition = event.getX();
float yPosition = event.getY();
//change the x and y position here
}
}
return false;
}
的問題:在這個代碼將其具有斷點
後,好像的onTouchEvent是僅針對MotionEvent.ACTION_DOWN情況調用,但不適用於其他兩種情況(「動作上升」或「動作移動」)。有誰知道任何可能導致這種情況發生的手?
也(可能與):
不要緊如何視圖被添加到一個ViewGroup?我注意到,除了「addView」之外,還有其他方法可以將子項添加到ViewGroup,例如「addFocusables」和「addTouchables」。現在,我只是使用「addView」將子視圖添加到ViewGroup。
鏈接「SDK文檔」不在該頁面上包含onTouch()方法的詳細信息(鏈接可能已更改)。但答案是正確的。 – vedant1811
引用的文本仍然存在於鏈接的頁面上。接近事件監聽器部分的末尾。 – Devunwired
哦,是的,這是真的。我的錯 – vedant1811