首页 > 其他分享 >[Jetpack Compose] 记录一下实现状态栏导航栏透明、应用界面可覆盖两栏、深色浅色模式自适应、应用 Material You 的代码

[Jetpack Compose] 记录一下实现状态栏导航栏透明、应用界面可覆盖两栏、深色浅色模式自适应、应用 Material You 的代码

时间:2022-09-24 17:22:28浏览次数:60  
标签:Compose 状态栏 val colorScheme Jetpack window context darkTheme view

val colorScheme = when {
    dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
        val context = LocalContext.current
        if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
    }
    darkTheme -> DarkColorScheme
    else -> LightColorScheme
}
val view = LocalView.current
val window = (view.context as Activity).window
if (!view.isInEditMode) {
    SideEffect {
        WindowCompat.setDecorFitsSystemWindows(window, false)
        window.navigationBarColor = Color.Transparent.toArgb()
        WindowInsetsControllerCompat(window, view).let {
            it.isAppearanceLightStatusBars = !darkTheme
        }
    }
}

MaterialTheme(
    colorScheme = colorScheme,
    typography = ...,
    content = ...
)

标签:Compose,状态栏,val,colorScheme,Jetpack,window,context,darkTheme,view
From: https://www.cnblogs.com/thisDart/p/16726042.html

相关文章

  • Compose控件占满剩余空间
    Row(Modifier.fillMaxWidth().height(30.dp)){Icon(Icons.Filled.Add,"",Modifier.size(20.dp))Text("Text",Modifier.weight(1f))/......
  • APP测试 - Monkey测试时禁止下拉状态栏
    Monkey测试,随机点击。会下拉状态栏,关闭WiFi,打开GPS,打开蓝牙,打开飞行模式等一系列操作,严重干扰程序的测试,尤其是对网络状态下的耗电量测试。下面的命令可以禁止Monkey测......
  • fabric compose文件解读(peer篇)
    peer是fabric中的基础单元,主要负责背书,验证交易合法性,保存区块链数据,查询数据。peer与orderer配合完成区块链的全部功能,orderer可以比作是管理员,peer属于是干货的员工,可以......
  • 创建 Docker Compose 文件
    DockerCompose: 将多个Docker映像作为一个单元一起生成,然后部署该单元。DockerCompose文件是一个YAML文件,用于将多个docker容器组合在一起以进行生成和部署。......
  • docker compose启动常用服务
    MySQLversion:'3.1'services:mysql:#服务的名称restart:always#代表只要docker启动,那么这个容器就跟着一起启动image:daocloud.io/library/mysql:......
  • fabric compose文件解读(Orderer篇)
    orderer在fabric中的作用是排序,另外orderer有点像是管理节点一样,通道之类的都是在orderer的基础之上建立的,有点像比特币,以太坊上面的全节点一样,不过责任比全节点少很多,甚至......
  • 安装docker compose
    curl-Lhttps://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-uname-s-uname-m>/usr/local/bin/docker-composesudochmod+x/usr/loc......
  • Docker基础知识 (12) - 使用 Docker-compose 部署 Nginx + Php/Laravel + MariaDB 项
    Laravel是一套简洁、优雅的PHPWeb开发框架(PHPWebFramework)。Laravel:https://laravel.com/LaravelGitHub:https://github.com/laravel1.部署环境   IP......
  • composer 切换国内源
    1.全局换源#禁用https源地址检查命令composerconfig-gsecure-httpfalse#修改镜像源composerconfig-grepo.packagistcomposerhttps://mirrors.aliyun.com/c......
  • docker-compose学习随笔
    DockerCompose官方介绍compose是一个定义、运行多个容器的工具YAMLfile配置文件。Composeisatoolfordefiningandrunningmulti-containerDockerapplicati......