zoukankan      html  css  js  c++  java
  • 【安卓】事件处理

    屏幕的直角坐标系,左上角是原点,x轴向右,y轴向下

    onKeyDown、onKey区别

    Onkeydown 只能在activity代码中使用、只能检测物理按键、不区分按下和松开操作。

    onkey 可同时检测两类按键。

    连续两次返回退出程序:实现方式是拦截后退出

    音量调节事件

    由于不再Activity中,所以不能用onkeydown方法检测按键。

    通过onkeydown弹出音量调节框,然后再给拖动条注册按键监听器OnkeyListener。

    触摸事件

    手势事件的分发流程

    与手势事件有关的方法主要有三个

    dispatchTouchEvent:进行事件分发处理

    onInterceptTouchEvent:进行事件拦截处理

    onTouchEvent:进行事件触摸处理

    方法的执行者主要有三个:

    • 页面类:包括activity及其派生类
      • 可操作dispatchTouchEvent和onTouchEvent两种方法
    • 容器类:包括从ViewGroup类派生出的各类容器与布局
      • 可操作dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent
    • 控件类:包括从View类派生的各类控件
      • 可操作dispatchTouchEvent和onTouchEvent两种方法

    常见的手势处理方法

    • 容器类的dispatchTouchEvent方法
      • 控制事件的分发,决定把手势交给谁处理
    • 容器类的onInterceptTouchEvent方法
      • 控制事件的拦截,决定是否要把手势交给下级视图处理
    • 控件类的onTouchEvent方法
      • 进行手势事件的具体处理

    手势事件处理MotionEvent机制(触屏)

    手势检测

    手势检测器 GestureDetector

    原理与具体用法

    飞掠视图(ViewFlipper)的用法

    与viewPager类似,不过飞掠视图更像是视图的立体排列

    手势检测和飞掠视图的结合使用

    事件冲突处理

    1、通过拦截器处理

    2、采用抽屉布局。比如viewpager 和fragment 都有上下滑动操作

    KeyEvent机制(案件)

  • 相关阅读:
    作为面试官,中级应用级Web前端我会问什么问题
    vue相关项目提示 Failed to resolve Loader: sass-loader
    [Vue warn]: Error in beforeDestroy hook: "Error: [ElementForm]unpected width
    JVM调优方法
    HTTP协议—— 简单认识TCP/IP协议
    关于软件的版本管理
    开源数据库
    PE51
    浅谈限流组件的应用和设计原则
    Spring+AspectJ框架使用实践
  • 原文地址:https://www.cnblogs.com/ckxkexing/p/14214819.html
Copyright © 2011-2022 走看看