Android Activity向右滑动返回
作者:kincai 时间:2021-12-06 16:56:06
向右滑动返回,对于屏幕过大的手机来说,在单手操作时,是一个不错的用户体验,用户不必再费力的或者用另一个手去点击屏幕左上角的返回按钮或者,手机右下角的返回按钮,轻轻向右滑动屏幕即可返回上一页,这个功能如今大部分APP都已经支持啦,你的APP支持了吗?
自己在网上百度了一些滑动返回的方法,有的是用的第三方控件如swipebackLayout但弊端过大如与自己自定义的一些控件冲突等,有的是通过判断手势监听但步骤相当繁琐,总之没有尽如人意的,本篇所讲的实现方法其实也是通过监听事件分发来实现的,但是步骤非常简单,且效果经本人不断测试也相当不错,接下来本人讲解下实现过程:
实现该功能需同时满足几个条件,并要考虑用户的操作意图,既要保证足够的灵敏度,不要出现向右滑动好多次还没返回上一页的情况,也不要出现本来是想上下滑动(斜着上下滑动)而非向右滑动返回,也被判断为向右滑动返回而结束了当前界面,那么我们需要满足:
1.用户需向右滑动一段距离,且X轴距离>某一设定的值;
2.因为向右滑动时,不可能时严格的水平方向而不向Y轴偏移,所以向Y轴的偏移量不能超过某一设定的值,否则认为用户意图不是滑动返回而是上下滑动;
3.在测试过程中,如果用户意图是上下滑动时,那么手指在y轴移动速度(我们按每秒移动的像素值,可通过VelocityTracker类计算)非常大,通常在几千到过万,而在正常的水平滑动时,y轴的移动速度通常只有100左右,因此,我们需要判断的是,如果y轴上手指滑动速度超过某一设定值(本人将该值设置为了1000),则认为用户意图是上下滑动而非向右滑动返回;
来源:https://blog.csdn.net/hqiong208/article/details/46860721
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
mall整合SpringSecurity及JWT实现认证授权实战
![](https://img.aspxhome.com/file/2023/6/76486_0s.png)
浅谈Java finally语句到底是在return之前还是之后执行(必看篇)
SpringBoot如何返回Json数据格式
![](https://img.aspxhome.com/file/2023/0/61390_0s.png)
通过spring boot 设置tomcat解决 post参数限制问题
Android Activity生命周期调用的理解
![](https://img.aspxhome.com/file/2023/6/137526_0s.jpg)
android使用viewpager计算偏移量实现选项卡功能
![](https://img.aspxhome.com/file/2023/9/123339_0s.png)
C# 匿名方法基础回顾
![](https://img.aspxhome.com/file/2023/7/116497_0s.png)
详解Java中的迭代迭代器Iterator与枚举器Enumeration
Java代码实现循环队列的示例代码
![](https://img.aspxhome.com/file/2023/7/59927_0s.jpg)
Spring的自动装配Bean的三种方式
java StringBuilder类的详解及简单实例
SpringBoot+docker环境变量配置详解
![](https://img.aspxhome.com/file/2023/6/84756_0s.png)
总结一次C++ 程序优化历程
JAVA LinkedList和ArrayList的使用及性能分析
![](https://img.aspxhome.com/file/2023/5/94355_0s.jpg)
Java用freemarker导出word实用示例
![](https://img.aspxhome.com/file/2023/5/86715_0s.png)
Android实现Service重启的方法
C#泛型类创建与使用的方法
![](https://img.aspxhome.com/file/2023/3/96433_0s.jpg)
Java日常练习题,每天进步一点点(46)
![](https://img.aspxhome.com/file/2023/0/116190_0s.png)
Java异步调用转同步方法实例详解
解决unity3d导入模型贴图材质丢失的问题
![](https://img.aspxhome.com/file/2023/2/126102_0s.png)