项目地址:ikew0ng/SwipeBackLayout: An Android library that help you to build app with swipe back gesture.

我对它做点补充:P)

SwipeBackXActivity.java

public abstract class SwipeBackXActivity extends SwipeBackActivity {
protected abstract int getStatusBarColorId(); protected boolean makeStatusBarContentBlack() {
return false;
} @Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
setStatusBarToTransparent();
setSystemUiVisibilityForDecorView();
initContentView();
} private void setStatusBarToTransparent() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(Color.TRANSPARENT);
}
} private void setSystemUiVisibilityForDecorView() {
int visibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
if (makeStatusBarContentBlack()) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
visibility |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
}
}
getWindow().getDecorView().setSystemUiVisibility(visibility);
} private void initContentView() {
ViewGroup content = getWindow().getDecorView().findViewById(android.R.id.content);
content.setFitsSystemWindows(true);
int height = StatusBarUtils.getHeight(this);
content.getChildAt(0).setPadding(0, height, 0, 0);
View statusBar = new View(this);
int id = getStatusBarColorId();
if (id != 0) {
statusBar.setBackgroundColor(getResources().getColor(id));
}
content.addView(statusBar, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, StatusBarUtils.getHeight(this)));
}
}

SwipeBackXActivity避免了布局与状态栏的“撕裂”效果

下图就是我所说的撕裂效果

SwipeBackXActivity的效果如微信

SwipeBackXActivity的补充参考自:DyncKathline/SwipeBackLayout: 沉浸式侧滑关闭Activity

最后附上我整理后的项目:BuYishi/SwipeBackLayout: An Android library that help you to build app with swipe back gesture.

侧滑关闭Activity的解决方案——SwipeBackLayout的更多相关文章

  1. 分分钟教你集成沉浸式侧滑关闭Activity

    网上搜索侧滑关闭Activity,几乎没有系统状态栏跟随页面一起联动的,有明显的撕裂感,而这里则是状态栏跟随页面联动的,说来集成也是简单,等会你就知道了. 个人习惯,写博客前喜欢先截图 1.首先以项目 ...

  2. 随手一写就是一个侧滑关闭activity

    刚忙完一段时间,今天刚清闲会,就把以前写的东西整理整理.于是冥冥中发现有些东西完全可以共享出来,毕竟那么常见,而且简单实用. 实现原因 其实侧滑关闭activity在网上也有大量的文章去介绍他,我也有 ...

  3. 【android】侧滑关闭activity

    最近在使用IOS系统的时候,发现侧滑关闭很实用,因为单手就可以操作,不需要点击左上角的回退按钮.或者返回键了. 所以打算在android上实现这个技术. 需求: 1:IOS只能在屏幕边缘开始,往中间进 ...

  4. 【Android】12.2 利用Intent启动和关闭Activity

    分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 Android应用程序中一般都有多个Activity,在Activity中,通过调用StartActivity方法 ...

  5. Activity详解一 配置、启动和关闭activity

    先看效果图: Android为我们提供了四种应组件,分别为Activity.Service.Broadcast receivers和Content providers,这些组建也就是我们开发一个And ...

  6. 滑动关闭activity

    // 手指上下滑动时的最小速度 private static final int YSPEED_MIN = 1000; // 手指向右滑动时的最小距离 private static final int ...

  7. 建立、配置和使用Activity——启动、关闭Activity

    一个Android应用通常都会包含多个Activity,但只有一个Activity会作为程序的入口——当该Android应用运行时将会自启动并执行该Activity.至于应用中的其他Activity, ...

  8. jqueryeasyUI dialog 弹出窗口超出浏览器,导致不能关闭的bug解决方案

    jqueryeasyUI dialog 弹出窗口超出浏览器,导致不能关闭的bug解决方案 2014年8月30日 3233次浏览 相信很多前端朋友都用过jqueryeasyUI,jqueryeasyUI ...

  9. 【Android-关闭所有Activity】关闭activity之前的所有activity,重启actibity

    Android关闭activity之前的所有activity,重启actibity 直接关闭一个activity之前的所有Activity页面 解决方法:清理activity堆栈 Intent ine ...

随机推荐

  1. curl 命令帮助及使用

    目录 一.简介 二.curl 帮助文档 三.curl 的使用 前言 刚接触 curl 就发现它的非常强大.奈何帮助文档全是英文,看起来贼费劲.无奈只能硬着头皮用自己蹩脚的英语和翻译软件硬生生的翻译了一 ...

  2. SCP-bzoj-1000

    项目编号:bzoj-1000 项目等级:Keter 项目描述: 鉴于该项目的奇特性质,任何拥有Administrator以下权限者均不予查看项目描述.如有违反,将导致AwD成功突破Site bzoj收 ...

  3. Java-Class-C:java.util.HashMap

    ylbtech-Java-Class-C:java.util.HashMap 1.返回顶部 1.1. import java.util.HashMap; import java.util.Map; 1 ...

  4. 你没玩过的全新版本!Win10这些骚操作你知多少

    你没玩过的全新版本!Win10这些骚操作你知多少 [PConline技巧]不知不觉,Win10与我们相伴已经整整四个年头了,从最开始的组团抗拒到现在的默默接受,个中滋味相信谁心里都有个数.近日微软开始 ...

  5. 第一周课堂笔记1th

    1.      计算机基本组成 CPU:中央处理器,人的大脑 内存:临时存储数据       (特点:断电即消失,容量小12G 24G) 硬盘:永久存储数据(特点:断电不消失容量大,500G 1T) ...

  6. HTTP入门简介

    一.概念:Hyper Text Transfer Protocol 超文本传输协议 传输协议:定义了客户端和服务器端通信时,发送数据的格式 特点: 1.基于TCP/IP的高级协议 2.默认端口号:80 ...

  7. iOS开发系列-NSFileManager

    NSFileManager NSFileManager类主要对文件和目录的操作(删除.修改.移动.复制等等).

  8. Hive中SQL查询转换成MapReduce作业的过程

  9. python2x 安装 psutil

    安装psutil模块: wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz --no-check-cer ...

  10. expect安装

    expect是在tcl基础上创建起来的,因此在安装expect之前需要安装tcl 安装TCL下载地址:http://www.tcl.tk/software/tcltk/download.html[ro ...