为了账号安全,请及时绑定邮箱和手机立即绑定

课程的源码(android studio)

package com.leu.gesturedetectordemo;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity {
    ImageView img;
    GestureDetector myGestureDetector;
    class myGestureListener extends GestureDetector.SimpleOnGestureListener{
        @Override
        
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
            if (e1.getX()-e2.getX()>50){
                Log.d("img","right to left");
                Toast.makeText(MainActivity.this,"right to left",Toast.LENGTH_LONG).show();

            }else if (e2.getX()-e1.getX()>50){
                Toast.makeText(MainActivity.this,"left to right",Toast.LENGTH_LONG).show();
                Log.d("img","left to right");
            }


            return super.onFling(e1, e2, velocityX, velocityY);

        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        img= (ImageView) findViewById(R.id.img);
        myGestureDetector =new GestureDetector(new myGestureListener());
        img.setOnTouchListener(new View.OnTouchListener() {
            @Override//可以捕获到触摸屏幕发生的event事件
            public boolean onTouch(View v, MotionEvent event) {
                //转发MotionEvent对象到OnGestureListener
                myGestureDetector.onTouchEvent(event);
                return true;
            }
        });
    }


}


正在回答

2 回答

因为你return false,应该是返回true

0 回复 有任何疑惑可以回复我~
#1

xiaoxiaohuahua

为什么要改成true 才可以有反应了??
2015-06-18 回复 有任何疑惑可以回复我~
#2

qq_迷途少年_0 回复 xiaoxiaohuahua

为true表示onTouch事件发生了啊
2016-07-31 回复 有任何疑惑可以回复我~

public class MainActivity extends Activity {


ImageView imageView;

GestureDetector gestureDetector;

class myGestureListener extends SimpleOnGestureListener{

  @Override

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,

float velocityY) {

// TODO Auto-generated method stub

  if(e1.getX()-e2.getX()>50){

  Toast.makeText(getApplicationContext(), "从右往左划", Toast.LENGTH_LONG).show();

  }else if(e1.getX()-e2.getX()<50){

  Toast.makeText(getApplicationContext(), "从左往右划", Toast.LENGTH_LONG).show();

 

  }

return super.onFling(e1, e2, velocityX, velocityY);

}

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

imageView=(ImageView) findViewById(R.id.imageView);

gestureDetector=new GestureDetector(new myGestureListener());

imageView.setOnTouchListener(new OnTouchListener() {

@Override

public boolean onTouch(View view, MotionEvent event) {

// TODO Auto-generated method stub

gestureDetector.onTouchEvent(event);

return false;

}

});

}

以上是我的,可是没有反应

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第3季)
  • 参与学习       74912    人
  • 解答问题       420    个

手势识别、数据存储和4大组件,让你牢牢掌握之前的基础知识点

进入课程

课程的源码(android studio)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信