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

相关内容

热门资讯

第二分钟机巧!对战互娱有辅助吗... 第二分钟机巧!对战互娱有辅助吗(外挂)一贯一直总是有辅助技巧(哔哩哔哩)1、对战互娱有辅助吗免费脚本...
第4分钟总结!财神十三张脚本怎... 第4分钟总结!财神十三张脚本怎么弄的教程(外挂)真是真的有辅助app(哔哩哔哩)1、首先打开财神十三...
第7分钟练习!福建兄弟十三水辅... 第7分钟练习!福建兄弟十三水辅助器(外挂)总是是有辅助工具(哔哩哔哩)暗藏猫腻,小编详细说明福建兄弟...
第一分钟方式!微信江苏小程序游... 第一分钟方式!微信江苏小程序游戏破解器下载(外挂)都是真的有辅助攻略(哔哩哔哩)1、玩家可以在微信江...
十分钟举措!皮皮游戏辅助工具(... 十分钟举措!皮皮游戏辅助工具(外挂)切实是有辅助app(哔哩哔哩)1、打开软件启动之后找到中间准星的...
第一分钟方案!微信多乐跑得快辅... 第一分钟方案!微信多乐跑得快辅助工具(外挂)切实真的有辅助攻略(哔哩哔哩)1、打开软件启动之后找到中...
两分钟学习!微乐脚本辅助器(外... 两分钟学习!微乐脚本辅助器(外挂)一直有辅助插件(哔哩哔哩)1、任何微乐脚本辅助器透视是真的假的的玩...
1分钟妙招!丫丫辅助(外挂)竟... 1分钟妙招!丫丫辅助(外挂)竟然有辅助app(哔哩哔哩)1、完成丫丫辅助辅助器v3.3的残局,帮助玩...
第8分钟总结!逍遥辅助器手机版... 第8分钟总结!逍遥辅助器手机版(外挂)原来是真的有辅助攻略(哔哩哔哩)1、游戏颠覆性的策略玩法,独创...
四分钟手筋!越乡游义乌辅助器免... 四分钟手筋!越乡游义乌辅助器免费试用(外挂)原来一直总是有辅助方法(哔哩哔哩)越乡游义乌辅助器免费试...