我試圖創建一個可拖動的視圖,並根據拖動視圖與放置目標視圖之間的距離來更改放置目標視圖的Alpha。爲此,我需要一種方法來持續檢查拖動視圖的當前位置。我試圖使用OnTouchListener
來實現它。未註冊觸摸的運動事件'MotionEvent.ACTION_MOVE'
守則MainActivity's
方法onCreate
:
myTextView.setOnTouchListener(new MyTouchListener());
代碼MyTouchListener
類:
class MyTouchListener implements View.OnTouchListener {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
Log.i("i", "Touched");
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN: {
ClipData clipData = ClipData.newPlainText("", "");
View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
view.startDrag(clipData, shadowBuilder, view, 0);
view.setVisibility(View.INVISIBLE);
break;
}
case MotionEvent.ACTION_MOVE: {
Log.i("i", "this one is never called");
break;
}
}
return true;
}
}
後,我開始拖着我的TextView,登錄 「觸摸」 兩次,沒有其他輸出。任何人都可以告訴我爲什麼案件MotionEvent.ACTION_MOVE永遠不會被調用? 如果這不是實現我想要做的事的方式,你能指導我更正確的方式嗎?