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

相关内容

热门资讯

教你透视!pokemmo辅助器... 教你透视!pokemmo辅助器手机版下载,impoker辅助(透视)其实真的是有辅助app(哔哩哔哩...
关于透视!竞技联盟透视,uup... 关于透视!竞技联盟透视,uupoker透视(透视)果然是真的有辅助app(哔哩哔哩)1、玩家可以在竞...
了解透视!佛手在线大菠萝智能辅... 了解透视!佛手在线大菠萝智能辅助器,拱趴大菠萝辅助神器(透视)一贯存在有辅助方法(哔哩哔哩)1、完成...
必备透视!线上德州的辅助器是什... 必备透视!线上德州的辅助器是什么,epoker透视底牌(透视)原来一直总是有辅助攻略(哔哩哔哩)1、...
分享透视!红龙poker辅助,... 分享透视!红龙poker辅助,拱趴大菠萝挂(透视)一直是真的有辅助软件(哔哩哔哩)1、金币登录送、破...
必备透视!pokemmo内置修... 必备透视!pokemmo内置修改器,约局吧能不能开挂(透视)原来存在有辅助app(哔哩哔哩)1、首先...
关于透视!wepoker安装教... 关于透视!wepoker安装教程,哈糖大菠萝能开挂吗(透视)果然一直都是有辅助工具(哔哩哔哩)1、上...
解谜透视!poker mast... 解谜透视!poker master辅助,德州圈脚本(透视)竟然存在有辅助插件(哔哩哔哩)1、每一步都...
有挂透视!sohoo poke... 有挂透视!sohoo poker辅助器,德州透视是真的吗(透视)原来是真的有辅助插件(哔哩哔哩)1、...
推荐透视!佛手在线是不是有挂,... 推荐透视!佛手在线是不是有挂,poker world辅助器(透视)一直真的有辅助app(哔哩哔哩)1...