详解Android中那些酷炫返回方式的实现
Android手机都会有返回键,不管是实体键,还是虚拟键。Android用户主要也都是通过这个返回键操控页面返回方式的,不比IOS逼格甚高的只保留一个操作键。这种方式是最普遍的返回方式,还有一种也是比较常见的,那就是页面内部自己响应。绝大多数APP每个页面的设计图顶部左侧都会有一个返回键图标,偶尔也有奇葩的设计放在底部左侧,点击这个图标即finish掉当前页面。简单的介绍完了最常见的两种方式,下面为大家介绍两种更友好的交互方式。
拿大家比较常用的三款社交软件的交互来说。腾讯微博的返回方式除去上述说的两种,还有一种是这样的,当手势落在页面的左侧,随手势滑动页面也跟着滑动。当手指抬起时,X坐标大于屏幕宽度的一半时,页面会继续向右侧滑进而finish当前页面;如果X坐标仍在屏幕的左侧的话,页面是会侧滑到原先的位置,还原当前页面。如果有描述不清或者不大明白的地方,请打开手机上的腾讯微博自己体验一下。
还有一种交互方式,就是目前QQ、新浪微博采用的,交互是这样的。手指落下的位置可以随意,但是当手指抬起时,只要能满足两个条件,当前页面会自动finish的。
条件一、对应X坐标的位移要大于某个阀值,大概是屏幕宽度的1/3的样子(X坐标横向向右增大)
条件二、Y坐标的位移的绝对值小于某个阀值,大概在20dp左右,主要为了防止Y位移的干扰(Y坐标纵向向下增大)
如有不清,打开二者中任一体验一下。
下面我就为大家介绍这两种比较新鲜的交互方式的实现。为了方便,我把两者的功能都抽象到了基类BaseActivity中了,如果哪个页面需要添加这两种交互方式,直接继承就能实现功能了。
交互一实现,封装的很好,使用很简单
交互二实现
看下效果:
如有兴趣和需求的同学,请到Github上面 clone。
源码地址:https://github.com/JackCho/AndroidSwipBack
如果觉得对你有所帮助,欢迎大家订阅我的微信公众账号——Android干货分享(ID:android_share)。下面是微信的二维码,为你提供及时高质的Android干货。技术交流QQ群:318588906,欢迎大家加群,共同探讨下Android和Java技术,一起壮大我们的微信干货分享社区。
详解Android中那些酷炫返回方式的实现的更多相关文章
- 详解Android中的四大组件之一:Activity详解
activity的生命周期 activity的四种状态 running:正在运行,处于活动状态,用户可以点击屏幕,是将activity处于栈顶的状态. paused:暂停,处于失去焦点的时候,处于pa ...
- 详解Android中AsyncTask的使用
在Android中实现异步任务机制有两种方式,Handler和AsyncTask. Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更 ...
- 详解Android中的屏幕方向
屏幕方向 是对Activity而言的,所以你可以在AndroidManifest.xml 文件中,通过<activity> 标记的screenOrientation 属性进行设定,例如: ...
- Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢?
Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢? 可视化图表,有相当多种,但常见的也就下面几种,其他比较复杂一点,大都也是基于如下几种进行组合,变换出来的.对于初学者来说,很容易被这官网上 ...
- 详解Android首选项框架ListPreference
详解Android首选项框架ListPreference 原文地址 探索首选项框架 在深入探讨Android的首选项框架之前,首先构想一个需要使用首选项的场景,然后分析如何实现这一场景.假设你正在编写 ...
- 详解Android Activity---启动模式
相关的基本概念: 1.任务栈(Task) 若干个Activity的集合的栈表示一个Task. 栈不仅仅只包含自身程序的Activity,它也可以跨应用包含其他应用的Activity,这样有利于 ...
- Android Binder IPC详解-Android学习之旅(96)
linux内存空间与BInder Driver Android进程和linux进程一样,他们只运行在进程固有的虚拟空间中.一个4GB的虚拟地址空间,其中3GB是用户空间,1GB是内核空间 ,用户空间是 ...
- 图文详解 Android Binder跨进程通信机制 原理
图文详解 Android Binder跨进程通信机制 原理 目录 目录 1. Binder到底是什么? 中文即 粘合剂,意思为粘合了两个不同的进程 网上有很多对Binder的定义,但都说不清楚:Bin ...
- 详解Android Activity启动模式
相关的基本概念: 1.任务栈(Task) 若干个Activity的集合的栈表示一个Task. 栈不仅仅只包含自身程序的Activity,它也可以跨应用包含其他应用的Activity,这样有利于 ...
随机推荐
- 14年安徽省赛数论题etc.
关于最大公约数的疑惑 题目描述 小光是个十分喜欢素数的人,有一天他在学习最大公约数的时候突然想到了一个问题,他想知道从1到n这n个整数中有多少对最大公约数为素数的(x,y),即有多少(x,y),gcd ...
- [CF340D]Bubble Sort Graph/[JZOJ3485]独立集
题目大意: 给你一个序列,对序列中所有逆序对之间连一条边,问图中最大独立集为多大,有哪些点一定在最大独立集中. 思路: 在纸上画一下发现最大独立集一定是元序列的一个LIS,最大独立集必经点就是所有LI ...
- Problem C: 矩阵对角线求和
#include<stdio.h> int main() { ][]; scanf("%d",&n); ,sum2=; ;i<n;i++) ;j<n ...
- Codeforces Round #345 (Div. 1) A - Watchmen 容斥
C. Watchmen 题目连接: http://www.codeforces.com/contest/651/problem/C Description Watchmen are in a dang ...
- convirt介绍
convirt2.0是一款使用python和jquery结合编写的其于web的集中管理xen服务的程序.该程序在xen 社区项目,管理项目中被使用的量很高,convirt开发有开源版本与企业版本,企业 ...
- JavaScript 开发的45个技巧2
http://mp.weixin.qq.com/s?src=3×tamp=1474692926&ver=1&signature=agI3W5rKmVC6GgbdTXh ...
- iptables的框架
参考 : https://segmentfault.com/a/1190000002540601 SNAT: 网关上,POSTROUTING链上,报文出去的时候处理,适用:内网多台 ...
- js:输入字数限制
Demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- ylbtech-LanguageSamples-PartialTypes(部分类型)
ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-PartialTypes(部分类型) 1.A,示例(Sample) 返回顶部 “分部类型 ...
- RTP/RTCP、TCP、UDP、RTMP、RTSP
OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,FTP,HTTP,SNMP,SMTP,DNS,RIP,Telnet 表示层 数据格式化,代码转换,数据 ...