首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏android技术

    compose--CompositionLocal、列表LazyColumn&LazyRow、约束布局ConstraintLayout

    通过前面内置组件和修饰符Modifier的使用,结合Stat状态,相信对于一般的开发需求已经没有问题了,接下来对CompositionLocal进行学习,以及对列表组件LazyColumn&LazyRow &LazyRow LazyColumn和LazyRow相当于RecyclerView,内部组件并不会全部一次性加载,而是利用缓存机制,适用于加载大量的数据 1.LazyRow LazyRow 支持横向滑动 bottom = 10.dp), textAlign = TextAlign.Center ) } } } 效果: 2.LazyColumn LazyColumn即纵向滑动列表,我们可以配合使用stickyHeader达到粘性标题: 例子: @OptIn(ExperimentalFoundationApi::class) @Preview @Composable fun MyLazyColumn() { val lazyListState = rememberLazyListState() LazyColumn(

    1.6K31编辑于 2022-12-11
  • 来自专栏JetpackCompose M3

    安卓软件开发:Jetpack Compose中常见的核心概念总结-6

    expanded } ) if (expanded) { Text("Here are more details...") }}LazyColumn - 可扩展列表LazyColumn { itemsIndexed(listOfItems) { index, item -> Text("Item $index: $item") }}LazyColumn: 动态加载的列表

    50110编辑于 2024-11-06
  • 来自专栏码客

    Jetpack Compose中的下拉刷新

    androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.lazy.LazyColumn ") delay(3000) isRefreshing = false } }) { //布局 LazyColumn .fillMaxWidth() .height(200.dp) .clipToBounds() ) { LazyColumn pullRefreshState = rememberPullRefreshState(refreshing, { }) Box(Modifier.pullRefresh(pullRefreshState)) { LazyColumn pullRefreshState, Modifier.align(Alignment.TopCenter)) } 加载更多 val listState = rememberLazyListState() LazyColumn

    2.7K10编辑于 2024-03-29
  • 来自专栏JetpackCompose M3

    安卓软件开发:JetpackCompose从零开发CURD列表App

    二、项目开发在本Demo中,实现了以下功能: • 使用 LazyColumn 展示CURD列表。 • 支持用户动态添加、编辑和删除列表项。 2.2 编写 UI 使用 LazyColumn 展示CURD列表,每个列表项显示名字和数量,包含编辑和删除按钮。 } } ) }}2.3.1 代码解释使用了 AlertDialog 创建一个输入弹窗,用户可以通过该弹窗添加新的条目到列表中,LazyColumn 使用 LazyColumn 实现了高效的列表展示,通过 State 和 MutableState 实现了 UI 和数据的同步更新。Material3 为我们的App提供了现代化的视觉设计语言。 对于开发者而言,这种 CURD 列表应用是非常常见的场景,可以掌握了 Compose 中的核心功能,比如 LazyColumn 列表、状态管理、弹窗交互等。有任何问题欢迎提问,感谢大家阅读 )

    87792编辑于 2024-10-02
  • 来自专栏JetpackCompose M3

    安卓软件开发:Jetpack Compose中常见的核心概念总结-2

    Lazy 列表LazyColumn - 懒加载列LazyColumn { items(100) { index -> Text("Item $index") }}LazyColumn

    46110编辑于 2024-10-31
  • 来自专栏大前端修炼手册

    掌握 Android Compose:从基础到性能优化全面指南

    let { LazyColumn { items(it) { post -> Text(post.title Compose 通过 LazyColumn 和 LazyRow 提供了高效的列表实现。 3.2 使用LazyColumn和LazyRow实现高效列表 这些组件只渲染可视区域内的元素,从而优化性能和响应速度。 Compose 提供了 LazyColumn 和 LazyRow 等组件,这些组件只渲染可视区域内的元素,从而优化性能和响应速度。 条件渲染优化:对于条件渲染的内容,使用 LazyColumn 的 item 方法来单独处理,而不是在 items 方法中处理整个列表。这样可以避免在每次重组时对整个列表进行计算,而只关注变化的部分。

    7K20编辑于 2024-09-24
  • 来自专栏JetpackCompose M3

    安卓软件开发:用JetpackCompose实现NimReplyAppLogic中篇

    label = { Text("搜索邮件...") }, modifier = Modifier.fillMaxWidth() ) LazyColumn LazyColumn:动态展示邮件列表,通过 ReplyEmailListItem 组件进行展示。四、实现邮件详情和状态管理4.1 电子邮件详情页面使用 ViewModel 实现邮件的详情展示。 // 显示筛选结果 val filteredEmails by viewModel.filteredEmails.observeAsState(emptyList()) LazyColumn

    89520编辑于 2024-10-22
  • 来自专栏郭霖

    写给初学者的Jetpack Compose教程,Lazy Layout

    LazyColumn和LazyRow Lazy Layout只是一个可复用列表的统称,事实上并没有这样的一个控件。 我们需要根据不同的场景需求,采用与其所相对应的Compose控件。 比如上述例子中使用的LazyColumn,它就是用于在垂直方向上滚动的可复用列表。而LazyRow则是用于在水平方向上滚动的可复用列表。 除此之外,LazyGrid下还有一批不同种类的可复用列表,不过这些不在今天文章的讨论范围,今天我们主要聚焦在LazyColumn和LazyRow这两个比较简单的可复用列表上面。 LazyColumn的用法示例: @Composable fun ScrollableList() { val list = ('A'..' 接下来在LazyColumn当中,我们使用item函数将ImageHeader()和ImageFooter()分别引入到了头部和尾部,而主间则是使用items函数添加的列表型数据。

    1.6K10编辑于 2023-12-20
  • 来自专栏JetpackCompose M3

    安卓软件开发:使用Jetpack Compose和M3的轮播图和列表App-上篇

    Nim", "Nim", "Nim") val grouped = listOf("Nim大标题", "Nim 中标题" , " Nim标题").groupBy { it[3] } LazyColumn by remember { mutableStateOf(false) } var selectedItem by remember { mutableStateOf("") } LazyColumn = { Text(text = "你选择: $selectedItem") } ) } } 2.4.1 代码解释 • LazyColumn

    1.8K111编辑于 2024-10-15
  • 来自专栏代码男人

    从0上手Jetpack Compose,看这一篇就够了~

    快来一起学习一下吧~ 延迟列表组件 Compose为我们提供了LazyColumn和LazyRow组件,相当于XML中的RecycleView组件,从名字中我们也可以知道一个是垂直滚动一个是水平滚动。 我们先来看垂直滚动列表组件 —— LazyColumn。 修改上面的代码如下所示: LazyColumn(content = { item { for (i in 0..10) { More("Compose课程第 设置其他属性,具体可自行参照LazyColumn的源码。 LazyRow与LazyColumn的使用方法是一样的,只是效果是水平滚动,这里简单看一下,修改代码如下所示: LazyRow() { items(items = getData()) { data

    8.2K41编辑于 2024-01-11
  • 来自专栏JetpackCompose M3

    安卓软件开发:Jetpack Compose中常见的核心概念总结-9

    分页和加载更多Paging - 分页加载数据val lazyPagingItems = pager.collectAsLazyPagingItems()LazyColumn { items(lazyPagingItems Load More - 滚动到底部加载更多LazyColumn { items(list) { item -> Text("Item $item") } item {

    55510编辑于 2024-11-11
  • Kuikly 实战:手把手撸一个跨平台 AI 聊天助手 (ChatDemo)

    列表组件 (LazyColumn)聊天记录怎么展示? LazyColumn 也就是我们常说的 RecyclerView 的“升级版”。  LazyColumn

    35910编辑于 2025-12-22
  • 来自专栏代码男人

    在Compose中使用Paging分页库

    androidx.lifecycle:lifecycle-viewmodel-compose:2.4.1" 通过调用collectAsLazyPagingItems方法将结果转为LazyPagingItems实例,在LazyColumn 直接调用即可,代码如下所示:  Column {         LazyColumn() {             items(items = data) { item ->                   viewModel()     val data = mainViewmodel.getData().collectAsLazyPagingItems()     Column {         LazyColumn

    2.2K30编辑于 2022-05-11
  • 来自专栏程序员修炼之路

    Android实战经验分享之用Kotlin中的Jetpack Compose构建声明式UI

    Column { Text("First Item") Text("Second Item") } 4、 LazyColumn 和 LazyRow: 用于高效地显示长列表。 LazyColumn { items(itemsList) { item -> Text(item) } } 主题和样式 Jetpack Compose允许使用Material

    1.7K10编辑于 2024-08-12
  • 来自专栏各类技术文章~

    android Compose中沉浸式设计和导航栏的处理

    WindowCompat.setDecorFitsSystemWindows(window, false)处理了页面后,Scafoold的内容区域也会被顶到底部导航栏的下方,同样也需要我们处理 以下是处理前和处理后的代码和效果 处理前 代码 LazyColumn } } 复制代码 效果 这里只展示到第27个item,第28、29个item没有展示出来,所以需要处理才行 处理后 代码 {padding-> LazyColumn

    4.7K20发布于 2021-11-02
  • 来自专栏JetpackCompose M3

    安卓软件开发:使用Jetpack Compose和Room开发NimWishApp-上篇

    viewModel: WishViewModel) { val wishlist = viewModel.getAllWishes.collectAsState(initial = listOf()) LazyColumn LazyColumn则用于动态加载心愿列表。 ShowList val wishlist = viewModel.getAllWishes.collectAsState(initial = listOf()) LazyColumn

    1K80编辑于 2024-10-03
  • 来自专栏Android 开发者

    欢迎体验 | Wear OS 版 Compose 开发者预览版

    体验的全新可组合项: Chip ToggleChip BasicCurvedText TimeText 我们还为列表提供了一个针对 Wear 优化的可组合项 ScalingLazyColumn,扩展了 LazyColumn 您可在下方应用中看到,内容在屏幕顶部和底部被缩减和淡化,以提高可读性: 查看代码,您可看到代码与 LazyColumn 相同,只是名称不同。

    2K10编辑于 2022-03-24
  • 来自专栏码客

    Jetpack Compose中的列表组件

    竖向列表 @Composable fun MyList(mList: List<String>){ LazyColumn { items(mList.size){

    92110编辑于 2024-03-29
  • 来自专栏大前端修炼手册

    2025年Android开发趋势全景解读

    SecondaryScreen() } 1.2 淘汰XML布局的三大信号 Google Play:上架应用建议包含Compose模块 性能对比:RecyclerView在折叠屏设备滑动帧率下降至45fps,而LazyColumn Audio API打造沉浸体验 五、避坑指南:2025年将被淘汰的技术 5.1 即将废弃的技术清单 ❌ AsyncTask:全面迁移至Kotlin协程 ❌ ListView:强制使用RecyclerView或LazyColumn

    2K20编辑于 2025-02-04
  • 来自专栏C博文

    从 0 到 1:使用 Jetpack Compose 和智能自动化实现高效 Android UI 开发

    (viewModel: TodoViewModel = hiltViewModel()) { val list by viewModel.todos.collectAsState() LazyColumn Icon(Icons.Default.Add, contentDescription = "添加") } } ) { padding -> LazyColumn

    75410编辑于 2025-07-14
领券