android状态栏透明适配以及状态栏不占位置的问题

本文介绍了如何在Android应用中设置状态栏为透明,并确保其在Android 4.4及以上版本中正常显示。通过使用SystemBarTint库,解决了状态栏不占位的问题,并实现了状态栏的沉浸式效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将状态栏设置成透明并且兼容android4.4版本,见一下代码

private void InitWindow() {

    Window window = getWindow();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
                WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    } 
}
并且需要设置style    < item name =" android :windowTranslucentStatus" > true </ item >

这样设置之后发现状态栏不占位置了,在布局时很尴尬,需要用到在android studio中引用 

compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'

详情可以见网址

 SystemBarTint地址: https://github.com/hexiaochun/SystemBarTint

此网址中有详细的介绍和说明

private void InitWindow() {

    Window window = getWindow();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
                WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }
    tintManager = new SystemBarTintManager(this);
    tintManager.setStatusBarTintEnabled(true);
    // set a custom tint color for all system bars
    tintManager.setTintColor(Color.parseColor("#EC3F53"));
}

修改之后这样基本就可以了,状态栏也会占位置,其中关于状态栏沉浸式还可以参考以下网址

http://www.open-open.com/lib/view/open1455584716230.html





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值