Android -----基于回调机制的事件处理

本文介绍了Android中基于回调机制的事件处理,重点讲解了onTouchEvent()方法,包括ACTION_DOWN、ACTION_UP和ACTION_MOVE事件的处理。此外,还详细阐述了如何实现Spinner下拉列表,包括数据源、适配器、显示样式和监听器的设置,并提供了两种不同的实现方式。
摘要由CSDN通过智能技术生成
          

                           一基于回调机制的事件处理
        回调机制实质上就是将事件的处理绑定在控件上,由图形用户界面控件自己处理事件,回调机制需要自定View来实现回调不是由该方法的实现方直接调用,而是在特定的事件或条件发生时,由另外一方通过一个接口来调用,用于对该事件或条件进行响应。

                        onTouchEvent()方法
       此方法用来处理手机屏幕的触摸事件,该方法在View类中定义,并且所有的View子类全部重写了该方法
        格式:public boolean onTouchEvent(MotionEvent event)
                   参数event:为手机屏幕触摸事件封装类的对象,其中封装了该事件的所有信息,例如触摸的位置、触摸的类型以及触摸的时间等。

                   该对象会在用户触摸手机屏幕时被创建

  返回值:该方法的返回值为不希望其他回调方法再次处理时返回true,否则返回false。

该方法处理三种事件:
           1.屏幕按下:MotionEvent.getAction()的值为
                                 MotionEvent.ACTION_DOWN
         
            2.屏幕被抬起:MotionEvent.getAction()的值为
                                     MotionEvent.ACTION_UP
         
            3.在屏幕中拖动:MotionEvent.getAction()的值为
                                          MotionEvent.ACTION_MOVE

            在java代码中有一系列的get...()方法可用,在下面例题中用到下列方法:
                1.MotionEvent.getAction()方法类获取屏幕被按下等事件的状态
                 2.Event.getX()、Event.getY()方法类获取触点坐标值
                  3.使用Event.getPressure()方法类获取触摸屏压力大小
                   4.使用Event.getSize()方法来获取触点尺寸

案例:在屏幕区域内触摸滑动时,捕捉按下、抬起事件的状态和滑动的坐标,触点压力,触点大小等信息。

XML:
<LinearLayout xmlns:android="
http://schemas.android.com/apk/res/android"
    xmlns:tools="
http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical"
    android:background="#999999" >

    <TextView
        android:id="@+id/touch_area"
        android:layout_width="match_parent"
        android:layout_height="360dp"
        android:textColor="#99ffff"
        android:text="触摸事件测试区" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值