android透明状态栏(沉浸状态栏)

思路:

1.首先theme里设置windowTranslucentStatus和statusBarColor这两个属性。发现状态栏有一个半透明的蒙层,而且布局不是从最边缘绘制,实在状态栏下面开始计算的。

2.设置activity没有限制,即全屏

3.在你想要实现的布局上添加一个空view,背景色就是你状态栏的颜色。若想实现图片在最顶部并沉浸的效果,不加这个view即可。设置这个view的高度为状态栏高度即可实现

具体代码:styles.xml

true
@android:color/transparent

BaseActivity.kt

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    window.setFlags(
        WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
        WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
    )
}

你可能感兴趣的:(android)