使用来自 url 的线圈图像撰写预览

Tha*_*s M 8 android kotlin android-jetpack android-jetpack-compose composable

在我的 Android 应用程序中,我使用 Jetpack Compose 作为 UI。

在屏幕中,我使用从 URL 下载的 Lottie 文件来渲染图像。Lottie 图像文件的渲染如下:

@Composable
private fun Image(assetUrl: String) {
    val composition by rememberLottieComposition(LottieCompositionSpec.Url(assetUrl))
    val progress by animateLottieCompositionAsState(composition, iterations = LottieConstants.IterateForever)

    LottieAnimation(
        composition = composition,
        progress = { progress }
    )
}
Run Code Online (Sandbox Code Playgroud)

我想提供一个预览可组合方法,该方法也将呈现上述Image可组合项。理想情况下,我希望能够做这样的事情:

@Preview
@Composable
private fun ScreenPreview(){
    Theme {
        Surface {
            Screen(assetUrl = /* Some URL */)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

例如,屏幕将是一些包含可组合项的可Image组合项:

@Composable
fun Screen(assetUrl: String){
    Image(
        assetUrl = assetUrl
    )
}
Run Code Online (Sandbox Code Playgroud)

问题:

  • 有没有办法使用预览可组合方法从 url 加载图像?
  • 如果没有,您认为这在未来有可能实施吗?
  • 是否有其他替代方法可以在预览可组合项中显示另一个图像来代替从 url 加载的图像?这样,当有人在 Android Studio 中看到预览时,他/她就会预期屏幕中的这个空间中会存在图像。我正在寻找一种替代方法,其中不包括添加一些不必要的额外可组合项,这些可组合项可能仅用于预览或某些类似的解决方案。