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

相关内容

热门资讯

我来教大家!wepoker作弊... 我来教大家!wepoker作弊辅助(辅助挂)本来真的有挂(有挂攻略)1、全新机制【wepoker作弊...
玩家爆料!wpk免费辅助(辅助... 玩家爆料!wpk免费辅助(辅助挂)竟然是真的有挂(有挂解惑)1、进入到wpk免费辅助是否有挂之后,能...
推荐十款!wepoker轻量版... 推荐十款!wepoker轻量版透视方法(辅助挂)好像真的是有挂(真实有挂)1)wepoker轻量版透...
让我来分享经验!智星德州可以透... 让我来分享经验!智星德州可以透视吗(辅助挂)竟然有挂(有挂总结)1、智星德州可以透视吗免费脚本咨询教...
实测必看!大菠萝免费辅助器(辅... 实测必看!大菠萝免费辅助器(辅助挂)好像存在有挂(真的有挂)1、游戏颠覆性的策略玩法,独创攻略技巧玩...
玩家爆料!wepoker开脚本... 玩家爆料!wepoker开脚本视频(辅助挂)切实是真的有挂(有挂细节);1、该软件可以轻松地帮助玩家...
玩家必看秘籍!xpoker辅助... 玩家必看秘籍!xpoker辅助器(辅助挂)都是存在有挂(有挂方法)1.xpoker辅助器 选牌创建新...
一分钟揭秘!hhpoker是正... 一分钟揭秘!hhpoker是正品吗(辅助挂)一贯存在有挂(有挂细节)1)hhpoker是正品吗辅助插...
热点讨论!德普之星透视免费(辅... 热点讨论!德普之星透视免费(辅助挂)竟然存在有挂(有挂头条)1、很好的工具软件,可以解锁游戏的德普之...
终于懂了!德普之星透视免费(辅... 终于懂了!德普之星透视免费(辅助挂)一直存在有挂(有挂功能)一、德普之星透视免费游戏安装教程牌型概率...