文章目录

  • 零、学习目标
  • 一、安卓手势操作原理
  • 二、安卓手势类与接口
    • 1、MotionEvent
    • 2、GestureDetector
    • 3、OnGestureListener
  • 三、教学案例——利用手势切换美女图片
    • (一)运行效果
    • (二)涉及知识点
    • (三)实现步骤
      • 1、创建安卓应用【SwtichBelleImageByGesture】
      • 2、将美女图片素材拷贝到drawable目录
      • 3、主布局资源文件activity_main.xml
      • 4、主界面类MainActivity
      • 5、启动应用,查看效果
  • 四、课后作业

零、学习目标

  1. 能说出安卓手势操作原理
  2. 能说出安卓手势类与接口
  3. 能利用安卓手势编写应用程序

一、安卓手势操作原理

在安卓系统中,每一次手势交互都会依照以下顺序执行,这个顺序可以说就是安卓手势操作的原理。

  1. 触屏一刹那,触发一个MotionEvent事件。
  2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象。
  3. 通过GestureDetector(手势侦测器)将此MotionEvent对象移交给OnGestureListener。
  4. OnGestureListener监听器获得该事件对象,然后根据该对象封装的信息,做出合适的处理。

二、安卓手势类与接口

1、MotionEvent

动作事件类,用于封装手势、触摸笔、轨迹球等等的动作事件。其内部封装了两个重要的属性X和Y,这两个属性分别用于记录横轴和纵轴的坐标。

2、GestureDetector

手势侦测器,用于识别各种手势。

3、OnGestureListener

手势监听器,是一个手势交互的监听接口,其中提供了多个抽象方法,并根据GestureDetector的手势识别结果调用相对应的方法。

三、教学案例——利用手势切换美女图片

(一)运行效果

(二)涉及知识点

  1. 线性布局(LinearLayout)
  2. 动作事件(MotionEvent)
  3. 手势侦测器(GestureDetector)
  4. 手势监听器(OnGestureListener)

(三)实现步骤

1、创建安卓应用【SwtichBelleImageByGesture】


2、将美女图片素材拷贝到drawable目录

3、主布局资源文件activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/root"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/img1"android:orientation="vertical"tools:context=".MainActivity">
</LinearLayout>

4、主界面类MainActivity

  • 定义常量和变量
  • 通过资源标识符获取控件实例
  • 初始化图像标识数组
  • 实例化手势侦测器,每个事件处理方法输出一条调试信息
  • 编写onFling()事件处理方法,通过手势切换图片
  • 代码说明:如果希望程序对手势滑动更敏感,那么可以减少滑动幅度,比如从20个像素减少到5个像素。
  • 将窗口的触摸事件交给手势侦测器来处理

5、启动应用,查看效果

四、课后作业

改进做过的电子相册应用:

  1. 可以通过手势来切换图片
  2. 通过两点触摸来缩放图片

安卓学习笔记14:安卓手势操作编程相关推荐

  1. 安卓学习笔记14:列表视图

    文章目录 1.创建安卓应用[ReadAncientPoetry] 2.将背景图片拷贝到drawable目录 3.布局资源文件activity_main.xml 4.诗歌列表项模板poem_list_i ...

  2. 【安卓学习笔记】安卓的事件处理

    安卓提供了两种方式的事件处理:基于回调的事件处理和基于监听的事件处理. 基于监听的事件处理 基于监听的事件处理一般包含三个要素,分别是: Event Source(事件源):事件发生的场所,通常是各个 ...

  3. 安卓学习笔记:安卓11访问/读写 Android/data 目录

    省流提示:采用android studio工具开发,记录一次低级的开发,避免以后忘记或者踩坑. 最近有个业余项目开发到一小半,过程中需要读写 Android/data目录的文件,采用常规的文件操作总是 ...

  4. 2020年安卓学习笔记目录

    文章目录 一.讲课笔记 二.安卓案例 三.安卓实训项目 四.学生安卓学习博客 五.安卓课后作业 (一)界面设计练习 1.制作登录界面 2.制作部队管理界面 3.制作灭火救援界面 4.制作交付界面 5. ...

  5. xamarin学习笔记A19(安卓AIDL)

    (每次学习一点xamarin就做个学习笔记和视频来加深记忆巩固知识) 如有不正确的地方,请帮我指正. AIDL简介   AIDL(Android Interface Definition Langua ...

  6. 很low的安卓学习笔记(一、实用技巧)

    很low的安卓学习笔记(一.实用技巧) 一.学习了几天的实用技巧小总结: 1.规范的定义内容的格式: 2.一些快捷键 3.将xxx.xml布局改为Activity中可以调用的View视图 4.当左下角 ...

  7. 安卓学习笔记3——登录界面UI

    安卓学习笔记3--登录界面UI 一.登录界面UI 1.根据需求写UI 2.主活动 3.主活动调用的读写文件的工具类 4.效果展示 二.总结与改进 不足: 1.密码分割采用字符串:当密码和用户名包含该字 ...

  8. 安卓学习笔记07:事件处理、窗口跳转与传递数据

    文章目录 零.学习目标 一.三个基本控件 1.标签控件(TextView) 2.编辑框控件(EditText) 3.按钮控件(Button) 二.安卓事件处理机制 (一)安卓事件处理概述 (二)安卓事 ...

  9. 安卓学习笔记之骚扰拦截

    安卓学习笔记之骚扰拦截 1.监听电话状态 2.检测来电号码是否匹配拦截条件 3.若匹配,则挂断电话 实例代码: 获取TelephonyManager 对象,并监听来电状态 TelephonyManag ...

最新文章

  1. 什么事情是你当了老板才知道的?
  2. CNNIC互联网报告:中国网民超8亿 前沿科技进展显著
  3. 从零开始学习python-从零开始学python
  4. 安装 | Windows 10下基于Anaconda平台的TensorFlow详细安装步骤
  5. html5中将doctype分为几种,html5与html 4.01的区别 doctype几种分类及其不同
  6. 哈哈哈,只有程序员才懂的黑色幽默 ... ...
  7. Redis八种数据类型及应用场景介绍
  8. hbase集群 数据写入_大数据入门必学 - Hbase集群搭建
  9. 百度内容审查做敏感词库筛选
  10. php实现mpg自动提取音轨,视频如何导出音轨 怎么将双音轨mpg提取其中一个音轨保存...
  11. C语言字符数组练习题
  12. 图像的上采样、下采样
  13. 剑指offer T26 重排链表
  14. 车盲普及贴系列.一.到底什么样车才安全
  15. centos安装phpstudy(小皮)
  16. 玉米社:SEM竞价推广预算设置方法
  17. cad2011 2010闪退问题
  18. 新人如何利用今日头条自媒体平台赚钱?月收入轻松过万
  19. 安卓4.4pppoe拨号间隔及轮次修改
  20. 云计算,你知道多少?

热门文章

  1. 微服务架构下,DLI的部署和运维有何奥秘?
  2. 华为云社区·CSDN【寻找黑马程序员】有奖征文活动,邀你挥洒才情
  3. easyphp 登陆mysql_EasyPHP/phpmyadmin 尝试连接到 mysql 服务器 但服务器拒绝连接
  4. poj 1789 TruckHistory 最小生成树 Kruskal、Prim
  5. JAVA 测试日期的不同显示格式
  6. python open encoding_Python文件操作
  7. ping和telnet的区别
  8. ubuntu python3.7修改默认pip版本_Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
  9. python降维之时间类型数据的处理_Python学习数据降维方法
  10. 模态识别在计算机视觉应用,相关性学习在计算机视觉任务中的研究与应用