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 】
相关推荐:
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
如何挑选优质建站一级代理提升网站排名?
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
Laravel如何实现数据库事务?(DB Facade示例)
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
WordPress 子目录安装中正确处理脚本路径的完整指南
Laravel如何实现一对一模型关联?(Eloquent示例)
如何快速查询网站的真实建站时间?
用yum安装MySQLdb模块的步骤方法
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何在新浪SAE免费搭建个人博客?
利用vue写todolist单页应用
如何在阿里云高效完成企业建站全流程?
Laravel怎么实现模型属性的自动加密
手机网站制作与建设方案,手机网站如何建设?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Python制作简易注册登录系统
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
HTML 中如何正确使用模板变量为元素的 name 属性赋值
Laravel如何处理表单验证?(Requests代码示例)
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Python文件流缓冲机制_IO性能解析【教程】
佛山网站制作系统,佛山企业变更地址网上办理步骤?
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
如何在景安服务器上快速搭建个人网站?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
javascript中闭包概念与用法深入理解
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
jQuery validate插件功能与用法详解
如何在万网ECS上快速搭建专属网站?
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
php打包exe后无法访问网络共享_共享权限设置方法【教程】
python中快速进行多个字符替换的方法小结
网站制作壁纸教程视频,电脑壁纸网站?
如何快速上传建站程序避免常见错误?

