私のコードは私の指が画面の下に来たときに検出したいので画面に触れるとACTION_DOWN
が検出されますが、指で画面を下に移動するとACTION_MOVE
は認識されませんACTION_UP
あなたは知っていますかどうして?Android:OnTouch、MotionEvent.ACTION_MOVEが認識されませんか?
float x=0;
protected void onCreate(Bundle savedInstanceState) {
do things
ImageView image2 = (ImageView) findViewById(R.id.imageView3);
image2.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
if (arg1.getAction()==MotionEvent.ACTION_DOWN) {
x=arg1.getX();
}
else {
if (arg1.getAction()==MotionEvent.ACTION_MOVE){
if (arg1.getX()>x) {
do things
}
}
else {
if (arg1.getAction()==MotionEvent.ACTION_UP){
do things
}
}
}
}
ただ、一般的な点として、あなたはあなたのコード内の不要な他の人の/ IFSの多くを持っている(onTouch()がfalseを返した場合、唯一のACTION_DOWNが呼び出されます)。あなたがそれらのいくつかをきれいにするならば、読みやすく、同じように機能します。 – Nathaniel