android沉浸式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android沉浸式相关的知识,希望对你有一定的参考价值。

参考技术A 1、如何修改状态栏颜色。
2、如何修改状态栏文字颜色。
3、如何不被虚拟键隐藏,或隐藏虚拟键。
4、如何消除沉浸式。
5、如何修改导航栏内部的fragment的状态栏颜色。

可参考: https://www.imooc.com/article/74825
在styles.xml中添加style

在manifest.xml文件中进行配置

添加依赖

可以参考:暂无
以下内容可以直接复制到工具类中,在activity初始化的时候调用即可。文字颜色分亮色暗色,分别是白色和黑色。

可以参考: https://www.jianshu.com/p/ce65dc7b0b56
以下方法可以放置在工具类中方便调用。
1、不隐藏底部虚拟键,不隐藏状态栏,布局顶部延伸至状态栏顶部不被虚拟键遮挡,且状态栏透明。

2、隐藏底部的虚拟键和状态栏

fragment的状态栏颜色其实就是activity状态栏颜色,所以还是去改变activity的状态栏颜色这么一个思路。
使用第三方组件,所以添加依赖

给导航栏控件添加tab切换事件监听,然后动态改变状态栏颜色即可,同样使用barUtils工具类。

最后在推荐一个github上的关于沉浸式效果的组件:
https://github.com/yanzhenjie/Sofia

Android 实现沉浸式状态栏

本文使用Andorid 10

文章目录


前言

简单三步实现沉浸式状态栏


一、什么是沉浸式状态栏?

实质上就是使手机状态栏的颜色改变。使其成为自己想要的颜色。假设把它设置成和APP主色调同样。这样看上去就会好看很多。

沉浸式状态栏

非沉浸式状态栏

二、实现

1.修改Theme文件

themes.xml :

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.Session1" parent="Theme.MaterialComponents.Light.NoActionBar">
    	<!-- 设置状态栏为透明 -->
        <item name="android:windowTranslucentStatus">true</item>
        <!-- 设置导航栏为透明 -->
        <item name="android:windowTranslucentNavigation">true</item>
        <!-- 根据系统窗口(如状态栏)调整视图布局。当为true,则调整此视图的填充,为系统窗口留下空间。仅当此视图位于非嵌入活动中时才会生效 -->
        <item name="android:fitsSystemWindows">true</item>
    </style>
</resources>

总结

基本上是实现沉浸式状态的通用方法,如果你不用全局都沉浸式的时候,可以在任何布局使用.

以上是关于android沉浸式的主要内容,如果未能解决你的问题,请参考以下文章

android -------- 沉浸式状态栏和沉浸式导航栏(ImmersionBar)

Android 实现沉浸式状态栏

android沉浸式

沉浸式-- Android沉浸式状态栏完全解析

高大上的Android沉浸式状态栏?

Android沉浸式模式状态栏