您的位置:首页 > 博客中心 > APP开发 >

Android项目---TouchListener

时间:2022-03-15 17:54

public static interface

View.OnTouchListener

android.view.View.OnTouchListener
gxlsystem.com,布布扣Known Indirect Subclasses AutoScrollHelper, ListViewAutoScrollHelper, ZoomButtonsController

Class Overview


Interface definition for a callback to be invoked when a touch event is dispatched to this view. The callback will be invoked before the touch event is given to the view.

Summary


Public Methods
abstract boolean onTouch(View v, MotionEvent event) Called when a touch event is dispatched to a view.  

 

用到这个类,一般就是在Android项目中,获取手点击屏幕的焦点。

如果实在控件上操作的话,一般将TouchListener事件单独提出来,写成一个工具类。

一、定义TouchListener工具类

 
gxlsystem.com,布布扣

三、注册广播

IntentFilter inf = new IntentFilter();
        inf.addAction("open");
        inf.addAction("back");
        inf.addAction("move");
        registerReceiver(receiver, inf);

 

关于onTouch事件的算法思想:
获取动作 多点触控
如果是按下
得到按下时控件的Y轴值
如果是抬起
获取手指抬起时获得的屏幕新的X的值
如果手指按下的位置靠近屏幕左边100像素内,并且新位置的值减去旧位置的值大于200(从左向右滑动)
打开菜单栏(向Activity中发送打开广播)
如果新位置值减去旧位置值小于200(从右向左滑动)或者<新旧位置值差值大于0 并且新减旧小于200(从左向右滑动距离太短)并且是在距离屏幕100像素内>
关闭菜单栏(向Activity中发送关闭广播)
如果现在菜单是打开着的并且是从右向左滑动 且滑动距离很短(小于200) 则将菜单重新弹出
打开菜单栏
否则如果控件Y轴的变化大于50就认为他是要上下滑动listview不去执行左右开关操作
如果手势是弧形 且弧形平缓就理解为是左右滑动
打开菜单
如果手势是弧形 且弧形陡峭就理解为是上下滑动 不在执行打开关闭菜单操作 认为用户是在滑动listview
关闭菜单
如果是移动
获取屏幕的x值
获取移动的距离
发送广播

Android项目---TouchListener,布布扣,bubuko.com

相关推荐

电脑软件

本类排行

今日推荐

热门手游