zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

GestureDetector手势识别的简单使用

识别 简单 手势 使用
2023-09-27 14:27:47 时间

GestureDetector可以用在各种view上来达到自己想要的效果

其简单用法

package com.example.gesturedetector;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @butterknife.Bind(R.id.bt_main_1)
    Button btMain1;
    @butterknife.Bind(R.id.ll_main)
    LinearLayout llMain;
GestureDetector mGestureDetector;
    class MyGestureListener extends GestureDetector.SimpleOnGestureListener{
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
            if(e1.getY()-e2.getY()>=50){

                Toast.makeText(MainActivity.this, "向上滑动", Toast.LENGTH_SHORT).show();
            }
            if(e1.getY()-e2.getY()<50){

                Toast.makeText(MainActivity.this, "向下滑动", Toast.LENGTH_SHORT).show();
            }



            return super.onFling(e1, e2, velocityX, velocityY);
        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        butterknife.ButterKnife.bind(this);
        mGestureDetector=new GestureDetector(new MyGestureListener());
        llMain.setOnTouchListener(new View.OnTouchListener() {
            @Override//可以捕获屏幕出发发生的事件
            public boolean onTouch(View v, MotionEvent event) {
                mGestureDetector.onTouchEvent(event);
                return true;
            }
        });
    }
}