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、点击下载安装,创思维辅助器脚本分类...
普及一下!菠萝辅助app,泸州... 普及一下!菠萝辅助app,泸州大二新手攻略,都是真的是有挂(哔哩哔哩)1、下载好菠萝辅助app透视辅...
解迷一下!广东雀神挂件定制面交... 解迷一下!广东雀神挂件定制面交,腾威互娱辅助工具,好像是真的有挂(哔哩哔哩)1、完成广东雀神挂件定制...
曝光一下!微乐多乐跑作弊,榕城... 曝光一下!微乐多乐跑作弊,榕城510k破解版安卓,真是有挂(哔哩哔哩)1、打开软件启动之后找到中间准...
关于一下!广东雀神智能插件官网... 关于一下!广东雀神智能插件官网,新老夫子脚本免费下载,一直存在有挂(哔哩哔哩)在进入广东雀神智能插件...
曝光一下!小程序微乐游戏辅助器... 曝光一下!小程序微乐游戏辅助器,牛总管手游辅助,原来真的是有挂(哔哩哔哩)小薇(辅助器软件下载)致您...
解迷一下!相约十三水破解,新芒... 解迷一下!相约十三水破解,新芒果监利开机有挂吗,一贯是真的有挂(哔哩哔哩)相约十三水破解辅助器是一种...
解密一下!腾旭欢乐全集辅助,凑... 解密一下!腾旭欢乐全集辅助,凑一桌游戏免费辅助器,原来真的是有挂(哔哩哔哩)1、进入到腾旭欢乐全集辅...
推荐一下!广东闲来辅助视频,约... 推荐一下!广东闲来辅助视频,约战竞技场辅助软件,总是真的是有挂(哔哩哔哩)1、起透看视 广东闲来辅助...