安卓学习(二) 手势识别

本文介绍了Android手势识别,包括系统内置手势识别、自定义手势识别和pinch手势的处理。通过GestureDetectorCompat和GestureOverlayView实现不同手势的检测,并提供了相关代码示例。
摘要由CSDN通过智能技术生成

安卓学习(二) 手势识别

摘要: 用户与手机交互的方式与PC不一样,没有鼠标,键盘,主要是依靠手势,因此手势的学习对于android开发很必要。本文主要介绍关于android手势识别的内容,首先是系统内置的手势识别,然后是自定义的手势识别,通过该文的学习会对android识别各种手势有一个很好的理解。

关键字 手势识别,内置手势,自定义手势


1. 内置手势识别

当用户与手机交互时,会触发onTouchEvent方法并传递一个MotionEvent对象,该对象包含了用户与屏幕交互的数据,包括触碰屏幕的位置,动作类型等。我们可以用过手动解析动作类型也可以用一个GestureDetectorCompat类帮我们解析动作类型,然后调用对应的方法。下面是识别内置手势的基本步骤:

  1. 实现GestureDector.OnGestureListener中各种手势的实现函数onFiling(),onDown(),onScroll(),onShowPress(),onSingleTapUp(),onLangPress(),如果要支持双击的话,还需要实现GestureDector.OnDoubleTapListener中的onDoubleTap()方法,我们可以直接让Activity实现这两个接口,或者定义一个新的类来实现这些接口。
  2. 创建一个GestureDetectorCompat对象,并用是上面的监听器类初始化它
  3. 实现onTouchEvent方法,在该方法中调用GestureDetectorCompat对象的onTouchEvent方法
    结合上面的步骤可以看下下面的代码:
public class MainActivity extends AppCompatActivity implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener{
   

    private TextView textView=null;
    //define the GestureDetectorCompat object
    private GestureDetectorCompat gDetector = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = (TextView)findViewById(R.id.textView);
        //initial the GestureDetectorCompat object using the object which implements whose two interface.
        this.gDetector = new GestureDetectorCompat(this,this);
        gDetector.setOnDoubleTapListener(this);
    }

    @Override
    public boolean 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值