android baseactivity 浸沉式标题栏,Android右滑退出+沉浸式(透明)状态栏.docx

Android右滑退出+沉浸式(透明)状态栏.docx

Android右滑退出+沉浸式(透明)状态栏

先上效果图:

右滑退出+沉浸式(透明)状态栏效果.gif

一、添加 SwipeBackLayout

compile 'me.imid.swipebacklayout.lib:library:1.0.0'

step1:BaseActivity

新建一个继承SwipeBackActivity的BaseActivity类,SwipeBackActivity的代码请看SwipeBackLayout库源码,在onCreate方法内添加如下两行代码。所有继承BaseActivity的页面都能具有滑动效果了。但比如登录页和主页面等部分不需要右滑效果的Activity可以通过setSwipeBackEnable(false)方法禁用右滑效果。

mSwipeBackLayout = getSwipeBackLayout();

// 设置滑动方向,可设置EDGE_LEFT, EDGE_RIGHT, EDGE_ALL,EDGE_BOTTOM

mSwipeBackLayout.setEdgeTrackingEnabled(SwipeBackLayout.EDGE_LEFT);

step2:设置theme

在style.xml文件中添加以下代码

@style/HoloThemeActivityAnimation

true

@anim/activity_open_enter

@anim/activity_open_exit

@anim/activity_close_enter

@anim/activity_close_exit

true

false

step3:AndroidManifest

在AndroidManifest文件中 application节点设置全局主题

android:theme="@style/AppTheme"。

为主界面单独设置不透明主题

android:theme="@style/AppThemeNoTranslucent"。

二、加入沉浸式状态栏效果

先上效果图:

效果图.png

关于沉浸式状态栏这个资料现在很多,但感觉很多介绍的并不全面,我自己也试过挺多方法后才有了目前这个方案。

step1:首先得设置状态栏透明

关于状态栏透明最开始用的是以下方法,这也是目前在网上看到的比较多的一种方法,但是后来发现在部分5.0以上系统上会有兼容性问题:

//以下方案在部分5.0以上手机内会有兼容性问题,会有一个半透明的背景附在状态栏位置上

final int sdk = Build.VERSION.SDK_INT;

Window window = getWindow();

WindowMana

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值