Android通过滑动实现Activity跳转(手势识别器应用)
发布时间 - 2026-01-11 01:16:57 点击率:次通过手势识别器实现界面的转跳,具体内容如下

1、创建 GestureDetector对象
2、创建新类继承SimpleOnGestureListener类(创建 GestureDetecto需要的参数)
3、重写SimpleOnGestureListener中的OnFling()方法。(滑动手势监听)
4、重写界面的OntouchEvent方法
5、通过 GestureDetector对象的onTouchEvent()添加事件
代码如下:
public abstract class BaseActivity extends AppCompatActivity {
private GestureDetector gue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base);
//这里的第一个参数是上下文,第二个是手势监听器
gue = new GestureDetector(this, new MyGestureListener());
}
class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
//onFling方法的第一个参数是 手指按下的位置, 第二个参数是 手指松开的位置,第三个参数是手指的速度
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
float startX = e1.getX();//通过e1.getX()获得手指按下位置的横坐标
float endX = e2.getX();//通过e2.getX()获得手指松开位置的横坐标
float startY = e1.getY();//通过e1.getY()获得手指按下位置的纵坐标
float endY = e2.getY();//通过e2.getY()获得手指松开的纵坐标
if ((startX - endX) > 50 && Math.abs(startY - endY) < 200) {
//(startX - endX) > 50 是手指从按下到松开的横坐标距离大于50
// Math.abs(startY - endY) < 200 是手指从按下到松开的纵坐标的差的绝对值
//在这里通过Intent实现界面转跳
}
if ((endX - startX) > 50 && Math.abs(startY - endY) <200) {
//在这里通过Intent实现界面转跳
}
//返回值是重点:如果返回值是true则动作可以执行,如果是flase动作将无法执行
return true;
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
gue.onTouchEvent(event);
return super.onTouchEvent(event);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android
# 界面跳转
# 手势识别器
# Android中应用界面主题Theme使用方法和页面定时跳转应用
# Android如何跳转到应用商店的APP详情页面
# android 跳转到应用通知设置界面的示例
# android判断手机是否安装地图应用实现跳转到该地图应用
# Android 应用中跳转到应用市场评分示例
# Android应用自动跳转到应用市场详情页面的方法
# Android应用闪屏页延迟跳转的三种写法
# Android 8.0升级不跳转应用安装页面的解决方法
# Android实现外部唤起应用跳转指定页面的方法
# 按下
# 在这里
# 第一个
# 第二个
# 重写
# 返回值
# 第三个
# 具体内容
# 大家多多
# AppCompatActivity
# private
# gue
# abstract
# BaseActivity
# extends
# Override
# Bundle
# savedInstanceState
# super
# protected
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
WEB开发之注册页面验证码倒计时代码的实现
微信小程序 input输入框控件详解及实例(多种示例)
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
Android GridView 滑动条设置一直显示状态(推荐)
如何快速搭建支持数据库操作的智能建站平台?
如何在万网自助建站平台快速创建网站?
JS实现鼠标移上去显示图片或微信二维码
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
Laravel如何使用Livewire构建动态组件?(入门代码)
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
网站建设保证美观性,需要考虑的几点问题!
Python结构化数据采集_字段抽取解析【教程】
浅谈javascript alert和confirm的美化
智能起名网站制作软件有哪些,制作logo的软件?
如何利用DOS批处理实现定时关机操作详解
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
郑州企业网站制作公司,郑州招聘网站有哪些?
Python数据仓库与ETL构建实战_Airflow调度流程详解
nginx修改上传文件大小限制的方法
php 三元运算符实例详细介绍
长沙企业网站制作哪家好,长沙水业集团官方网站?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何快速辨别茅台真假?关键步骤解析
做企业网站制作流程,企业网站制作基本流程有哪些?
重庆市网站制作公司,重庆招聘网站哪个好?
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
如何破解联通资金短缺导致的基站建设难题?
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
如何快速搭建高效简练网站?
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
如何获取上海专业网站定制建站电话?
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
android nfc常用标签读取总结
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
在centOS 7安装mysql 5.7的详细教程
如何确保西部建站助手FTP传输的安全性?
新三国志曹操传主线渭水交兵攻略
详解CentOS6.5 安装 MySQL5.1.71的方法
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
打造顶配客厅影院,这份100寸电视推荐名单请查收
Laravel如何处理CORS跨域请求?(配置示例)
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?

