栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

android状态栏操作的各种方式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

android状态栏操作的各种方式

    fun getStatusBarHeight(context: Context): Int {
        val resourceId = context.resources.getIdentifier("status_bar_height", "dimen", "android")
        if (resourceId > 0) {
            return context.resources.getDimensionPixelSize(resourceId)
        }
        return 0
    }

    fun setStatusBarTransparent(activity: Activity) {
        if (isFromM()) {
//            val decorView = activity.window.decorView
//            val option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
//            decorView.systemUiVisibility = option
            activity.window.statusBarColor = Color.TRANSPARENT
        }
    }

    fun setStatusBarBgColor(activity: Activity, @ColorInt color: Int) {
        if (isFromM()) {
//            val decorView = activity.window.decorView
//            val option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
//            decorView.systemUiVisibility = option
            activity.window.statusBarColor = color
        }
    }

    fun setStatusBarIconColor(activity: Activity, blackIcon: Boolean) {
        var option = 0;
        if (blackIcon) {
            option = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR  //白底黑字
        } else {
            option = View.SYSTEM_UI_FLAG_VISIBLE;     //默认,黑底白字
        }
        activity.window.decorView.systemUiVisibility = option
    }

    fun setStatusBarFullScreen(activity: Activity, isFloat: Boolean) {
        val decorView = activity.window.decorView
        val option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        decorView.systemUiVisibility = option
    }
    
        
        @color/white
        @color/white
        @color/white
        true  
    

 setSystemUiVisibility(int visibility)传入的实参类型如下:

1.View.SYSTEM_UI_FLAG_VISIBLE :状态栏和Activity共存,Activity不全屏显示。也就是应用平常的显示画面

2.View.SYSTEM_UI_FLAG_FULLSCREEN :Activity全屏显示,且状态栏被覆盖掉

3. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN :Activity全屏显示,但是状态栏不会被覆盖掉,而是正常显示,只是Activity顶端布   局会被覆盖住

4.View.INVISIBLE : Activity全屏显示,隐藏状态栏

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/667817.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号