只能触发onTouch()里的log,并不能触发onFling()里的Log

来源:8-1 使用GestureDetector进行手势识别

冯锅锅

2019-01-07 19:50

public class MainActivity extends AppCompatActivity {
    private ImageView imageView;
    GestureDetector gestureDetector;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView= (ImageView) findViewById(R.id.imageView);
        gestureDetector=new GestureDetector(this,new MyGestureListerner());
        imageView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                gestureDetector.onTouchEvent(event);
                Log.i("info","华东了");
                return false;
            }
        });
    }
    class MyGestureListerner extends GestureDetector.SimpleOnGestureListener{
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
            Log.i("ges","华东了");
            if (e1.getX()-e2.getX()>50){
                Log.i("info","作画了");
                Toast.makeText(MainActivity.this,"左滑了",Toast.LENGTH_SHORT).show();
            }else if(e2.getX()-e1.getX()>50){
                Log.i("info","优化了");
                Toast.makeText(MainActivity.this,"右滑了",Toast.LENGTH_SHORT).show();
            }
            Log.i("ges","结束了");
            return super.onFling(e1, e2, velocityX, velocityY);
        }


写回答 关注

0回答

还没有人回答问题,可以看看其他问题

Android攻城狮的第二门课(第3季)

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

74888 学习 · 444 问题

查看课程