Android状态栏透明(沉浸式效果)

本文介绍了两种实现Android应用状态栏透明(沉浸式效果)的方法。第一种方法通过修改状态栏和导航栏属性,并调整View的XML属性来实现;第二种方法则是通过修改主题的方式达到相同效果。

Android状态栏透明(沉浸式效果)

默认效果

P1

沉浸式效果

这里写图片描述

方式一

源码

下载地址(Android Studio工程):http://download.youkuaiyun.com/detail/q4878802/9058275

1. 修改状态栏和导航栏的属性为透明

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    //透明状态栏
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    //透明导航栏
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}

效果图,发现顶部和底部都透明了,View占据了整个屏的位置,而TitleBar的位置并没有动

P2

2. 让显示的View保持自身大小

在View的XML的根节点上添加属性

android:clipToPadding="true"
android:fitsSystemWindows="true"

效果图

P3

3. 隐藏TitleBar

修改application主题

android:theme="@android:style/Theme.Black.NoTitleBar"

效果图

P4

测试Toast走形

看帖子有人说这种方式Toast会走形,我测试了一下,没有走形。

P5

方式二

源码

下载地址(Android Studio工程):http://download.youkuaiyun.com/detail/q4878802/9058365

1. 修改主题

修改application的主题

android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar.TranslucentDecor"

android:theme="@android:style/Theme.Holo.Light.NoActionBar.TranslucentDecor"

android:theme="@android:style/Theme.Holo.NoActionBar.TranslucentDecor"

效果图

P6

2. 让显示的View保持自身大小

在View的XML的根节点上添加属性

android:clipToPadding="true"
android:fitsSystemWindows="true"

效果图

P4

转载于:https://www.cnblogs.com/sesexxoo/p/6190532.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值