引言

滑动返回不说是App的标配,但起码也是非常常见的功能了,本章主要讲解集成一个开源的滑动返回库:SwipeBackLayout。抱歉,本篇不是造轮子的文章。

正文

关于SwipeBackLayout的集成,我这里不打算使用依赖的方式集成,而是采用源码的方式进行集成,因为后续我还需要对Base进行扩展,需要修改一些源码。

集成源码

将源码下载下来,在core下面新建一个swipebacklayout包,将源码copy进去。

image

更改SwipeBackActivity

SwipeBackActivity重写了findViewById()这个方法,在API-26中加入了泛型T extends View,所以需要更改一下源码,低于这个版本的API是不需要更改的。

@Override

public T findViewById(int id) {

T v = super.findViewById(id);

if (v == null && mHelper != null)

return (T) mHelper.findViewById(id);

return v;

}

// @Override

// public View findViewById(int id) {

// View v = super.findViewById(id);

// if (v == null && mHelper != null)

// return mHelper.findViewById(id);

// return v;

// }

初始化SwipeBackLayout

将CandyBaseActivity更改为继承SwipeBackActivity,然后在onCreate()初始化滑动的模式。

private void initSwipeActivity() {

getSwipeBackLayout().setEdgeTrackingEnabled(SwipeBackLayout.EDGE_LEFT);

}

演示

image

其他问题

禁用滑动返回

某些页面是不需要滑动返回的,比如说主页面,这时候可以通过以下方法来禁用:

getSwipeBackLayout().setEnableGesture(false);

滑动时背景是黑色或者全透明

在某些机型上面滑动的时候背景是纯黑色的,或者是全透明能看到桌面,这种情况可以通过设置不同的样式来解决:

1.首先设置背景透明

true

2.再给启动APP时的Activity单独设置不透明

false

AndroidManifest.xml中单独设置不透明的背景风格

android:theme="@style/AppThemeMain"

android:launchMode="singleTask">

结束

总结

本文篇幅较少,只做了集成介绍和一个小问题的解决方案。

源码-tag-v0.10

遗留问题

本篇中的侧滑返回并没有适配沉浸式,也就是我们的状态栏并没有和滑动返回同步。

image

所以下章将解决和适配这个问题

微信公众号

来都来了,就给个关注吧,时不时会悄悄的推送一些小技巧的文章~~

AndroidRookie

安卓10侧边返回_Android 之路 (10) - 集成滑动返回(SwipeBackLayout)相关推荐

  1. iOS 自定义返回按钮,保留系统滑动返回

    1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在编写很多页面的时候,总是会因为这样那样的原因使得系统的滑动返回不可用.使用导航栏push出一个控制器,我们在控制器中自定义了一 ...

  2. android仿苹果滑动,Android 仿Ios 滑动返回上一目录

    IMG_0026.JPGSwipeBackLayout是一个在Android平台上实现了Activity滑动返回的库. 实现了左,右,上,下四种手势返回的功能,在ios里滑动返回是系统自带可以配置的功 ...

  3. Android-通过SlidingPaneLayout高仿微信6.2最新版手势滑动返回(一)

    最近更新了微信版本到6.2,发现里面有个非常好的体验,就是在第二个页面Activity能手势向右滑动返回,在手势滑动的过程中能看到第一个页面,这种体验非常赞,这里高仿了一下.这里使用的是v4包里面的S ...

  4. 【近3万字分享】《Android开发之路——10年老开发精心整理分享》

    目录 前言 1 Android开发学习路线 1.1 大神最新总结(推荐直接看这个) 2021 最新Android知识体系 1.2按内容划分 1.3按阶段划分 1.4Android进阶路线(思维导图) ...

  5. 御剑情缘服务器维护,御剑情缘10月31日安卓区部分服务器数据互通公告 10.31合服名称与时间[图]...

    类型:角色扮演 大小:611.52MB 评分:10 平台: 御剑情缘在10月31日安卓区部分服务器进行数据互通,也就是合服拉,下面小编带来了10.31合服名称与时间! 御剑情缘10月31日安卓区部分服 ...

  6. python怎么调用函数的返回值类型,10、Python基础之函数的调用与返回值

    一.函数参数 1.1 不定长参数 当我们定义函数时,可能需要定义一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数. 我们可以在形参前面加上一个 * ,这样这个形参就可以获取所有的实参,它将 ...

  7. 定义一个类:实现功能可以返回随机的10个数字,随机的10个字母, 随机的10个字母和数字的组合;字母和数字的范围可以指定,类似(1~100)(A~z)...

    #习题2:定义一个类:实现功能可以返回随机的10个数字,随机的10个字母, #随机的10个字母和数字的组合:字母和数字的范围可以指定class RandomString():#随机数选择的范围作为参数 ...

  8. GO语言学习之路10

    2022/02/01package mainimport ("fmt""strconv""strings" )//1.字符串中常用的系统函数 ...

  9. Windows 10 侧边任务栏宽度调整

    Windows 10 侧边任务栏宽度调整 对于一些小伙伴来说,Windows 10 任务栏喜欢放在左侧.右侧的话,任务栏会变得很宽,这样不太美观,所以我们有这么一款工具来调整我们的任务栏宽度. 下面是 ...

最新文章

  1. an初始java运行环境错误_【环境问题】STS(eclipse)启动出现错误提示:an error hava occured,see the log......
  2. python语言属于-python属于哪种语言
  3. NSArray利用Cocoa框架进行汉字排序
  4. python从零基础到项目实战 当当_Python 3.x网络爬虫从零基础到项目实战
  5. 【UE灯光•简介】UE4光照类型和灯光参数
  6. Linux上搭建nginx,及简单配置
  7. 获取url参数值(可解码中文值)
  8. Css内边距与外边距
  9. java ee自学路线
  10. spring-security过程分析
  11. QQ春节游园会被拆开11.2亿个福袋 近一半都被00后给拆了
  12. rk3399出现UART2串口打印异常问题
  13. ucla计算机科学和数学专业,UCLA的CS「加州大学洛杉矶分校计算机科学系」
  14. CAD布局图纸导出为模型图纸
  15. PL/SQL语句——循环语句
  16. Unity 3D 特效学习记录
  17. 论文数据统计Task1
  18. 【第一期】大话计算机网络(猫、路由器、wifi)
  19. AI新动向:多模态+自监督!Meta AI一次搞定语音、视觉和文本三个SOTA
  20. Android11 热点配置信息保存分析

热门文章

  1. yml 后面的配置覆盖前面的
  2. Allegro导入DXF
  3. 关于徒手脱壳的几种方法
  4. cf(聚簇因子)调优,计划调优,SQL改造
  5. ECS服务器下挂载数据盘
  6. zjoi 2008 树的统计——树链剖分
  7. 多线程之Thread类
  8. 软件测试某公司面试题2014
  9. IIS7 经典模式和集成模式的区别分析(转载)
  10. 准备创业或刚创业的朋友必读