AsyncImage在LazyColumnKotlinCompose中的使用
创始人
2024-09-21 04:30:52
0
  1. 导入必要的Compose库 implementation "androidx.compose.foundation:foundation:1.0.0-rc02"implementation "androidx.compose.material:material:1.0.0-rc02"

  2. 在需要使用AsyncImage的地方,引入 androidx.compose.foundation.lazy.LazyColumn,例如:

LazyColumn {
    itemsIndexed(images) { _, imageUrl ->
        AsyncImage(
            modifier = Modifier.fillMaxWidth(),
            contentScale = ContentScale.Crop,
            content = {
                CoilImage(
                    data = imageUrl,
                    contentDescription = null,
                    contentScale = ContentScale.Crop,
                    fadeIn = true,
                    loading = {
                        //显示加载中
                        Box(
                            Modifier
                                .fillMaxSize()
                                .background(Color.LightGray)
                        ) {
                            CircularProgressIndicator(Modifier.align(Alignment.Center))
                        }
                    }
                )
            }
        )
    }
}

这里使用了Coil作为图片加载库。在加载图片时,AsyncImage会显示加载中的进度条。

注意:由于还处于Composable函数编写的过程中,记得使用@Preview注解提供预览效果。

@Preview(showBackground = true)
@Composable
fun PreviewAsyncImage() {
    MyTheme {
        LazyColumn {
            itemsIndexed(images) { _, imageUrl ->
                AsyncImage(
                    modifier = Modifier.fillMaxWidth(),
                    contentScale = ContentScale.Crop,
                    content = {
                        CoilImage(
                            data = imageUrl,
                            contentDescription = null,
                            contentScale = ContentScale.Crop,
                            fadeIn = true,
                            loading = {
                                //显示加载中
                                Box(
                                    Modifier
                                        .fillMaxSize()
                                        .background(Color.LightGray)
                                ) {
                                    CircularProgressIndicator(Modifier.align(Alignment.Center))
                                }
                            }
                        )
                    }
                )
            }
        }
    }
}

其中MyTheme提供了样式和颜色,可以在Theme.kt文件中定义。

@Composable
fun MyTheme(content: @Composable () -> Unit) {
    MaterialTheme(
        colors = Colors,
        typography = Typography,
        content = content

相关内容

热门资讯

两分钟法子!新西游拼十辅助器,... 两分钟法子!新西游拼十辅助器,掌中乐游戏中心破解版,细节方法(揭秘有挂)-哔哩哔哩;两分钟法子!新西...
一分钟秘籍!心悦踢坑辅助软件,... 一分钟秘籍!心悦踢坑辅助软件,新道游辅助,普及教程(真实有挂)-哔哩哔哩亲,关键说明,心悦踢坑辅助软...
第6分钟方针!新永和源代码,永... 第6分钟方针!新永和源代码,永胜联盟会封号吗,扑克教程(真的有挂)-哔哩哔哩暗藏猫腻,小编详细说明永...
第五分钟演示!财神十三章张助安... 第五分钟演示!财神十三章张助安装包,天天福建十三兵修改器,必赢方法(有挂工具)-哔哩哔哩1、这是跨平...
十分钟要领!对战互娱辅助,葫芦... 十分钟要领!对战互娱辅助,葫芦娃辅助器直装,我来教教你(的确有挂)-哔哩哔哩1、葫芦娃辅助器直装ai...
第七分钟法门!佛手十三道辅助器... 第七分钟法门!佛手十三道辅助器,哈糖大菠萝诀窍,可靠教程(有挂细节)-哔哩哔哩1、完成佛手十三道辅助...
九分钟教材!天天微友辅助器通用... 九分钟教材!天天微友辅助器通用版,wepoker辅助软件视频,透视教程(有人有挂)-哔哩哔哩1、全新...
6分钟模块!吉祥填大坑游戏攻略... 6分钟模块!吉祥填大坑游戏攻略,全来潜山跑风破解版安卓,2025新版教程(的确有挂)-哔哩哔哩在进入...
第九分钟演示!钱塘十三水脚本,... 第九分钟演示!钱塘十三水脚本,同城游辅助软件,AI教程(有挂解密)-哔哩哔哩1、完成同城游辅助软件的...
第6分钟方案!边锋老友杰克辅助... 第6分钟方案!边锋老友杰克辅助,约局吧破解器,普及教程(有挂实锤)-哔哩哔哩边锋老友杰克辅助软件透明...