object StatusBarKt {/*** 沉浸式状态栏 > 6.0*/fun fitSystemBar(activity: Activity) {if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M)returnval window = activity.windowval decorView = window.decorViewdecorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREENor View.SYSTEM_UI_FLAG_LAYOUT_STABLEor View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR)window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)window.statusBarColor = Color.TRANSPARENT}/*** 调整状态栏文字、图标颜色 > 6.0* true:白底黑字,false:黑底白字*/fun lightStatusBar(activity: Activity, light: Boolean) {if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M)returnval window = activity.windowval decorView = window.decorViewvar visibility = decorView.systemUiVisibilityvisibility = if (light) {visibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR} else {visibility and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv() //inv 按位取反}decorView.systemUiVisibility = visibility}/*** 设置页面最外层布局 FitsSystemWindows 属性* @param activity* @param value*/fun setFitsSystemWindows(activity: Activity, value: Boolean) {val contentFrameLayout = activity.findViewById<View>(R.id.content) as ViewGroupval parentView = contentFrameLayout.getChildAt(0)if (parentView != null && parentView.fitsSystemWindows != value) {parentView.fitsSystemWindows = value}}
}

使用时

    override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)StatusBarKt.fitSystemBar(this)StatusBarKt.lightStatusBar(this,true)}
   override fun onResume() {super.onResume()//沉浸状态栏需要设置  FitsSystemWindows    需要在setContentView之后StatusBarKt.setFitsSystemWindows(this,true)}

适用于(android 6.0)及以上

沉浸式状态栏 (kotlin)相关推荐

  1. android仿咸鱼底部导航栏,Flutter沉浸式状态栏/AppBar导航栏/仿咸鱼底部凸起导航栏效果...

    如下图:状态栏是指android手机顶部显示手机状态信息的位置. android 自4.4开始新加入透明状态栏功能,状态栏可以自定义颜色背景,使titlebar能够和状态栏融为一体,增加沉浸感. 如上 ...

  2. 【UI篇】Android 沉浸式状态栏的那些事

    目录 window.decorView.systemUiVisibility 的参数常量 1.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:(>=api16) 2.Vi ...

  3. Flutter中沉浸式状态栏的设置

    Flutter中沉浸式状态栏的设置 沉浸式状态栏是什么? 状态栏是指Android手机顶部显示手机状态信息的位置,Android从4.4版本开始新增了透明状态栏功能,状态栏可以自定义颜色背景,是tit ...

  4. android沉浸式状态栏实现

    android沉浸式状态栏实现: public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle ...

  5. android沉浸式状态栏 图片背景,Android 补充 LayerDrawable 沉浸式状态栏

    小菜前些日子整理了两次小小的沉浸式状态栏的总结:Android 沉浸式状态栏的多种样式 和 Android 沉浸式状态栏以及伪沉浸式状态栏.今天小菜再稍稍补充一点,Java/Kotlin 代码中设置 ...

  6. Android 5.0新特性之沉浸式状态栏

    参考资料: http://laobie.github.io/android/2016/03/27/statusbar-util.html http://laobie.github.io/android ...

  7. Android 之 沉浸式状态栏及顶部状态栏背景色设置

    现在很多应用都引用了沉浸式状态栏,如QQ,效果下图: 效果很酷炫,其实设置也很简单.但是,需要注意的是,这种效果只能在API19以及以上版本中才能够做到. 方法一: 首先,如果想让界面Activity ...

  8. Android 沉浸式状态栏的实现方法、状态栏透明

    现在越来越多的软件都开始使用沉浸式状态栏了,下面总结一下沉浸式状态栏的两种使用方法 注意!沉浸式状态栏只支持安卓4.4及以上的版本 状态栏:4.4上是渐变色,5.0上是完全透明,本文模拟器为4.4演示 ...

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

    背景 之前做过Android沉浸式状态栏的相关需求,但是一直忙于工作,没时间系统的整理下沉浸式相关的知识,所以今天抽出时间,写一篇 Android沉浸式状态栏的文章. 何为沉浸式 沉浸式就是要给用户提 ...

最新文章

  1. Chisel3 - Tutorial - VendingMachine
  2. 《图解HTTP》读书笔记--第4章返回结果的HTTP状态码
  3. FPGA 起脚nCEO/IO管教设置问题
  4. 现在要吃软饭的,都这么明目张胆了吗?
  5. n以内的素数c语言,关于求N以内素数的一点小问题(N小于一亿)
  6. react html编辑器,react项目中使用富文本编辑器
  7. redis set时间单位_SpringBoot+Redis分布式锁:模拟抢单
  8. excel vlookup多个条件匹配多列_Excel教程第12课:VLOOKUP函数近似匹配到底怎么回事,原理+操作...
  9. Nginx核心原理揭秘:Nginx为什么高效?
  10. Perl5中19个最重要的文件系统工具
  11. 狼羽:视频营销是今年营销增长渠道重中之重
  12. 经典家用游戏机启动画面Top10
  13. 九联AX1800 WiFi6路由 真香评测
  14. 什么是深度学习、强化学习
  15. python的自省到底有什么用
  16. dell服务器卡在启动界面_戴尔最新bios设置图解 当电脑出现开机画面按F2进入
  17. Python爬取全国大学排名 用pyecharts进行大屏可视化
  18. 基于Andriod的连锁药店管理系统-计算机毕业设计源码+LW文档
  19. Python基本语法学习小结
  20. java判断当前时间是否在对应时间段内

热门文章

  1. Microsoft SQL Server 数据库特点
  2. 2021-2-21:Java File MMAP 中,对 MappedByteBuffer 进行读写,为何最大只能2GB-1B?
  3. 操作系统——第6章 文件管理
  4. 三角形内的点个数(果园里的数)
  5. switch语句使用时注意事项
  6. 【网络爬虫】爬取糗事百科段子
  7. 闲话模型压缩之网络剪枝(Network Pruning)篇
  8. Newcoder和LeetCode七月刷题笔记
  9. python调用接口返回401_Python接口测试之401错误的分析和解决方法(一)
  10. 浙大MBA提面“良好”资格复试录取率:落榜起于信念的动摇