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 】
相关推荐:
香港服务器建站指南:免备案优势与SEO优化技巧全解析
如何在VPS电脑上快速搭建网站?
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
如何快速生成高效建站系统源代码?
网站制作免费,什么网站能看正片电影?
使用spring连接及操作mongodb3.0实例
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
Laravel storage目录权限问题_Laravel文件写入权限设置
在线制作视频的网站有哪些,电脑如何制作视频短片?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
C#如何调用原生C++ COM对象详解
JS中对数组元素进行增删改移的方法总结
Android利用动画实现背景逐渐变暗
成都网站制作公司哪家好,四川省职工服务网是做什么用?
如何快速搭建自助建站会员专属系统?
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
js代码实现下拉菜单【推荐】
如何挑选最适合建站的高性能VPS主机?
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
Laravel如何使用Vite进行前端资源打包?(配置示例)
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
JavaScript如何操作视频_媒体API怎么控制播放
canvas 画布在主流浏览器中的尺寸限制详细介绍
IOS倒计时设置UIButton标题title的抖动问题
如何在 Pandas 中基于一列条件计算另一列的分组均值
智能起名网站制作软件有哪些,制作logo的软件?
如何批量查询域名的建站时间记录?
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
深入理解Android中的xmlns:tools属性
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
Internet Explorer官网直接进入 IE浏览器在线体验版网址
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
如何在景安服务器上快速搭建个人网站?
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
详解Android——蓝牙技术 带你实现终端间数据传输
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
重庆市网站制作公司,重庆招聘网站哪个好?
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
Laravel如何使用Sanctum进行API认证?(SPA实战)
如何快速生成ASP一键建站模板并优化安全性?
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
Laravel项目怎么部署到Linux_Laravel Nginx配置详解

