技术栈
compose
赏金术士
5 小时前
android
·
kotlin
·
compose
Jetpack Compose 状态提升(State Hoisting)完全指南
基于官方 Codelab 整理,专为 Android 开发者打造一句话定义:状态提升是一种设计模式,将子组件的状态移动到父组件中,让父组件成为"单一事实来源"。
赏金术士
1 天前
android
·
kotlin
·
compose
第五章:数据层—网络请求与Repository
数据层的职责:统一管理数据来源(网络/本地),为 ViewModel 提供干净的数据接口。ApiService 接口定义:
赏金术士
1 天前
android
·
ui
·
kotlin
·
compose
第二章:Compose入门—声明式UI编程
Compose 的核心理念:用 Kotlin 代码声明 UI,而不是用 XML 布局文件。传统方式:Compose 方式:
赏金术士
1 天前
android
·
kotlin
·
compose
第一章:项目概述与环境搭建
本文将带你从零开始认识 MyFirstCompose 项目,了解其整体架构与技术选型。MyFirstCompose 是一个基于 Jetpack Compose 开发的入门级 Android 应用,采用 单 Activity + MVVM + Repository 架构模式。
赏金术士
5 天前
android
·
kotlin
·
room
·
compose
Room + Flow 完整教程(现代 Android 官方方案)
现代 Android 开发中:Room + Flow + Compose/ViewModel已经是官方推荐数据库架构。
帅次
6 天前
android
·
jvm
·
ui
·
kotlin
·
compose
·
modifier
测试分层:JVM 单测、ViewModel 测试与 Compose UI Test
慢 / deviceCompose UI Test端到端 / 少量冒烟中速ViewModel 逻辑 + TestScope
Jomurphys
9 天前
android
·
compose
Compose 适配 - 通过 UiMediaScope 获取设备信息
官方页面设备信息是动态更新的,需要对其进行监控,并在发生任何更新时触发重组。mediaQuery() 和 derivedMediaQuery() 函数抽象了信息检索的细节,让你可以专注于定义触发布局更新的条件。UiMediaScope 代表了当前的设备能力和上下文环境,当发生变化时此对象会动态更新,查询函数会使用更新后的 UiMediaScope 对象对 Lambda 进行求值。
帅次
9 天前
android
·
kotlin
·
gradle
·
android jetpack
·
compose
深入 MaterialTheme:掌握 ColorScheme 与 Typography 的设计核心
Composable 内用 MaterialTheme.colorScheme.primary 等取色;重组 时随上层 MaterialTheme 变化而更新子树。
Jomurphys
9 天前
android
·
compose
Compose 组件 - 流式布局 FlowLayout(FlowColumn、FlowRow)
流式布局能实时响应屏幕可用空间进行重排界面,当一行(或一列)放不下里面的内容时会自动换行,还允许元素使用权重(Modifier.weight)进行动态调整大小,以将项目分配到容器中。
帅次
9 天前
android
·
kotlin
·
gradle
·
android jetpack
·
compose
Navigation Compose:NavHost、NavController 与参数
NavControllerNavHosthomesamplessample/profile/{userId}
帅次
10 天前
android
·
compose
·
disposable
·
sideeffect
·
launched
·
ondispose
副作用 API:LaunchedEffect、DisposableEffect、SideEffect
源码仓库:ComposeDemo(分支 main)分清三个 API 在 组合(Composition)生命周期 里的位置:何时启动、何时取消、能否挂起、与 重组 的关系。
赏金术士
10 天前
android
·
kotlin
·
交互
·
android jetpack
·
compose
JetPack Compose 弹窗、菜单、交互组件(五)
记忆口诀:
赏金术士
10 天前
android
·
kotlin
·
android jetpack
·
compose
JetPack Compose 基础核心模块(一)
记忆口诀:
stevenzqzq
12 天前
compose
LaunchedEffect 的执行机制与实践
LaunchedEffect 是 Compose 中最常用的副作用(Side-Effect)API。它允许开发者在组件的生命周期内启动一个协程,用于处理非 UI 渲染相关的逻辑(如:页面跳转、网络请求、状态重置等)。
帅次
12 天前
android
·
kotlin
·
compose
·
modifier
Modifier 链与顺序、测量与命中区域
源码仓库:ComposeDemo(分支 main)Compose 将 Modifier 链解析为 从左到右 依次包装(概念上接近:靠左的 modifier 更靠近「外层」,与子节点的测量、绘制、输入传递方向配合阅读)。同一条链上顺序不同 → 结果不同——这是面试与排障高频点。
帅次
13 天前
android
·
kotlin
·
gradle
·
android jetpack
·
compose
·
composable
Compose 入门:@Composable、组合与重组
本篇在讲什么:用「首页计数」把 Composable、重组、以及状态放在哪一层 说清楚。系列其余篇目会接着讲状态、Modifier、副作用等;治理类话题偶尔在文末带一句。
儿歌八万首
19 天前
android
·
折线图
·
compose
Jetpack Compose 实战:实现一个动态平滑折线图
在绝大多数的金融、健康或数据统计类 App 中,折线图(Line Chart)都是必不可少的组件。面对这种需求,很多开发者会选择引入庞大且沉重的第三方图表库(如 MPAndroidChart)。但在 Jetpack Compose 时代,得益于强大的 Canvas API,手写一个满足绝大多数定制需求的高颜值、带丝滑展开动画的图表,其实只需要不到两百行代码!
stevenzqzq
19 天前
compose
compose中Modifier.padding 与 contentPadding 区别
在开发基于 LazyVerticalGrid 或 LazyColumn 的列表页面时,设置左右间距(Horizontal Margin/Padding)是常见需求。虽然两者在静态显示上效果相似,但在滚动行为和交互反馈上存在本质区别。
儿歌八万首
20 天前
android
·
动画
·
compose
Jetpack Compose Canvas 进阶:结合 animateFloatAsState 让自定义图形动起来
在上一篇文章中,我们 了解如何使用 Compose 的 Canvas 和 DrawScope 绘制各种静态的几何图形,并实现了一个基础的“环形进度条”。
儿歌八万首
1 个月前
android
·
compose
·
标题栏
Compose 自定义组件:封装一个通用标题栏
在 Android 开发中,标题栏(TopBar)可以说是几乎每个页面都会用到的基础组件。尽管 Material Design3 官方提供了 TopAppBar,但往往难以满足国内复杂的 UI 视觉规范(比如严格居中、动态的右侧操作按钮、不同的背景和字体颜色等)。