Oya*_*nlı 21 android image android-jetpack-compose
tools:
借助 XML,当实际数据不可用时,我们可以选择使用占位符进行设计。Jetpack Compose 中有类似的东西吗?
我知道我可以通过专用预览功能将示例数据传递到我的可组合项。但例如,当图像源是一个 URL(通过 Coil、Glide.. 加载)时,即使我传递了示例 URL,它也无法在预览中加载。一个实用的解决方案可以节省开发时间。
Vin*_*nce 20
如果您使用的是线圈...
implementation("io.coil-kt:coil-compose:2.2.2")
Run Code Online (Sandbox Code Playgroud)
...现在您只能通过这种方式在调试模式下使用占位符进行预览:
AsyncImage(
model = "https://www.example.com/image.jpg",
placeholder = debugPlaceholder(R.drawable.debugPlaceholder),
contentDescription = stringResource(R.string.description)
)
Run Code Online (Sandbox Code Playgroud)
并创建一个 util 方法:
@Composable
fun debugPlaceholder(@DrawableRes debugPreview: Int) =
if (LocalInspectionMode.current) {
painterResource(id = debugPreview)
} else {
null
}
Run Code Online (Sandbox Code Playgroud)
您可以在这里查看更多信息:https ://coil-kt.github.io/coil/compose/
Kur*_*chy 13
正如 cd1 答案的更新:
rememberCoilPainter is renamed to rememberImagePainter and its arguments changed
有关更改的更多信息:
来源: https: //coil-kt.github.io/coil/compose/
关于预览中可见的占位符,代码为:
Image(
painter = rememberImagePainter(
data = "https://www.example.com/image.jpg",
builder = {
placeholder(R.drawable.placeholder)
}
),
contentDescription = "some description",
)
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 Coil,则可以使用该previewPlaceholder
参数,例如:
Image(
painter = rememberCoilPainter(
request = "https://picsum.photos/300/300",
previewPlaceholder = R.drawable.placeholder,
),
contentDescription = stringResource(R.string.image_content_desc),
)
Run Code Online (Sandbox Code Playgroud)
来源: https: //google.github.io/accompanist/coil/#previews
归档时间: |
|
查看次数: |
15013 次 |
最近记录: |