• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > [android] 手机卫士手势滑动切换屏幕,android手势

[android] 手机卫士手势滑动切换屏幕,android手势

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android 手势监听,android 手势,android 手势识别,android 手势密码,android手势滑动等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

[android] 手机卫士手势滑动切换屏幕,android手势


定义手势识别器

获取手势识别器GestureDetector对象,通过new GestureDetector(context,listener),参数:上下文,监听器

匿名内部类实现简单手势监听器SimpleOnGestureListener接口,重写onFling()滑动方法

传递进来四个参数:

MotionEvent e1 ,MotionEvent e2,velocityX,velocityY

e1是第一个点,e2是第二个点,x轴的速度,y轴的速度

当第一个点减去第二个点大于200时,我们认为它是从右往左划,下一页

当第二个点减去第一个点大于200时,我们认为它是从左往右划,上一页

调用MotionEvent 对象的getRawX()可以获取到X轴的坐标

 

使用手势识别器识别手势

重写activity的onTouchEvent()方法,获取到手势在界面上的滑动事件

传递进来一个参数MotionEvent对象

调用GestureDetector对象的onTouchEvent(event)方法,参数:MotionEvent对象,把获取到的事件传递进去

 

屏蔽斜着划

两个点的y轴坐标之间的距离大于100时,我们认为它是斜着划的

调用MotionEvent 对象的getRawY()可以获取到Y轴的坐标,两个点的差值取绝对值Math.abs(),判断大于100 就返回true,不往下进行

 

如果找不到SimpleOnGestureListener类,使用new GestureDetector.SimpleOnGestureListener()

 

抽取公用方法到基类抽象类 BaseSecActivity中,自己的activity只需要继承这个基类,实现上下页的抽象方法,就能实现左右滑动效果

BaseSecGuideActivity.java

 

package com.qingguow.mobilesafe;

import android.app.Activity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.MotionEvent;

public abstract class BaseSecGuideActivity extends Activity {
    // 定义手势识别器
    protected GestureDetector gestureDetector;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        // 实例化
        gestureDetector = new GestureDetector(this,
                new GestureDetector.SimpleOnGestureListener() {
                    @Override
                    public boolean onFling(MotionEvent e1, MotionEvent e2,
                            float velocityX, float velocityY) {
                        //屏蔽斜着划
                        if(Math.abs(e1.getRawY()-e2.getRawY())>100){
                            return true;
                        }
                        if ((e1.getRawX() - e2.getRawX()) > 100) {
                            System.out.println("从右往左划,下一页");
                            showNext();
                            return true;
                        }
                        if ((e2.getRawX() - e1.getRawX()) > 100) {
                            System.out.println("从左往右划,上一页");
                            showPre();
                            return true;
                        }
                        return super.onFling(e1, e2, velocityX, velocityY);
                    }
                });
    }
    public abstract void showPre();
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        gestureDetector.onTouchEvent(event);
        return super.onTouchEvent(event);
    }
    public abstract void showNext();
}

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • [android] 手机卫士手势滑动切换屏幕,android手势

相关文章

  • 2017-05-26Andoid自定义View系统学习参考,andoidview
  • 2017-05-26Android Bottom Sheet详解
  • 2017-05-26移动应用支付系列一:支付宝支付,移动应用支付系列
  • 2017-05-26nginx使用let’s encrypt https证书并启用http2的使用记录
  • 2017-05-26Android View体系(七)从源码解析View的measure流程
  • 2017-05-26OKHttp,okhttp使用
  • 2017-05-26Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
  • 2017-05-26Android的Message Pool是什么——源码角度分析,androidpool
  • 2017-05-26高效地分析Android内存--MAT工具解析
  • 2017-05-26Kotlin的Reified类型:怎样在函数内使用这一类型(KAD 14),kotlinreified

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android项目开发填坑记
    • Android 蓝牙操作详解,android蓝牙详解
    • Bottom Sheet
    • pgpool的健康检查和failover代码
    • Picasso处理同一url,但资源变了的情况,picassourl
    • fastdfs 使用遇到的问题
    • 「视频直播技术详解」系列之七:直播云 SDK 性能测试模型,sdk性能测试
    • 硅谷商城第二版3--分类模块,硅谷商城第二版3--
    • android 自定义View圆圈箭头_
    • Android入门(一),Android入门(

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有