Jetpack Compose三:主题和基础控件的使用

设置主题

与Android View的主题定义方式不同,Jetpack Compose中的主题由许多较低级别的结构体和相关API组成,它们包括颜色、排版和形状属性。

Theme.kt控制工程的主题,它是一个可组合的Compose函数

最后主题函数ComposeStudyTheme的相关设置又会传入MaterialTheme函数中,MaterialTheme函数是Compose系统提供设置系统主题元素的可组合函数

主题叠加

主题叠加是指在一棵View树中,不同层级的组件各自设置一个主题样式,子组件的主题不会替换其父级组件的主题,而是相关叠加。

如果两个层级的主题定义了相同的属性,那么从上往下层级最接近当前层级的主题属性生效。

相关推荐
我命由我123452 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
MiyamuraMiyako5 小时前
Compose:从自动滚动到双锚点 LazyLayout
android·android jetpack
杉氧3 天前
Compose 渲染内核 (3):Slot Table 与 Gap Buffer —— 极速重组的数学艺术
android·架构·android jetpack
alexhilton4 天前
Kotlin DSL深度解析:从Gradle脚本到构建你自己的DSL
android·kotlin·android jetpack
杉氧6 天前
Framework 补完计划 (2):BufferQueue 与 SurfaceFlinger —— 像素的跨进程“接力赛”
android·架构·android jetpack
我命由我123457 天前
Android 开发问题:ClickableSpan 的点击事件没有生效
java·java-ee·android studio·android jetpack·android-studio·android runtime
我命由我123457 天前
Android 构建项目问题:XML 片段出错,com.ctc.wstx.exc.WstxUnexpectedCharException
android·xml·android studio·android jetpack·android-studio·android runtime
杉氧9 天前
跨平台资源管理:一套代码如何搞定 Android、iOS 和 Web 的图片与多语言?
android·架构·android jetpack
杉氧10 天前
兼容与共生:如何在旧项目中优雅地引入 Compose?
android·架构·android jetpack
杉氧10 天前
性能优化实战:如何定位冗余重组并榨干 Compose 的每一帧性能?
android·架构·android jetpack