安卓沉浸式状态栏,android沉浸式状态栏工具类封装
生活随笔
收集整理的這篇文章主要介紹了
安卓沉浸式状态栏,android沉浸式状态栏工具类封装
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 前言
- 二、使用步驟
- 1.定義
- 2.使用
- 3.效果
前言
沉浸式狀態(tài)欄對(duì)安卓6.0以上版本很簡(jiǎn)單,今天分享一個(gè)封裝好的工具,供大家參考
二、使用步驟
1.定義
代碼如下:
package com.example.mystudy_kotlin.utilsimport android.app.Activity import android.graphics.Color import android.os.Build import android.view.View import android.view.WindowManager/*** 狀態(tài)欄設(shè)置*/ object HiStatusBar {/*** darkContent true:意味著 白底黑字, false:黑底白字** statusBarColor 狀態(tài)欄的背景色** translucent 沉浸式效果,也就是頁(yè)面的布局延伸到狀態(tài)欄之下*/fun setStatusBar(activity: Activity,darkContent: Boolean,statusBarColor: Int = Color.WHITE,translucent: Boolean) {val window = activity.windowval decorView = window.decorViewvar visibility = decorView.systemUiVisibility//5.0if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//請(qǐng)求系統(tǒng) 繪制狀態(tài)欄的背景色window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)//這倆不能同時(shí)出現(xiàn)window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)window.statusBarColor = statusBarColor}//6.0if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {if (darkContent) {//白底黑字--淺色主題visibility = visibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR} else {//黑底白字--深色主題// java visibility &= ~ View.SYSTEM_UI_FLAG_LIGHT_STATUS_BARvisibility = visibility and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv()}}if (translucent) {//此時(shí) 能夠使得頁(yè)面的布局延伸到狀態(tài)欄之下,但是狀圖蘭的圖標(biāo) 也看不見了,使得狀態(tài)欄的圖標(biāo) 恢復(fù)可見性visibility =visibility or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE}decorView.systemUiVisibility = visibility} }2.使用
代碼如下:
HiStatusBar.setStatusBar(this,false,Color.RED,false)3.效果
總結(jié)
以上是生活随笔為你收集整理的安卓沉浸式状态栏,android沉浸式状态栏工具类封装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 刘韧马杰花总:诗歌小说电影游戏都是元宇宙
- 下一篇: Genexus 15 安卓SDK配置项