在android jetpack compose中,我使用navigationController将图像uri(照片中的图像)传输到下一个视图,然后在下一个视图中显示图像。但是当我在下一个视图中写预览时。那么我该怎么做呢?
这是代码:
@Composable
fun TestCompose(navController: NavController, uri: String) {
val uriDecode = URLDecoder.decode(uri, StandardCharsets.UTF_8.toString())
val photoUri = Uri.parse(uriDecode)
val painter = rememberAsyncImagePainter(
ImageRequest
.Builder(LocalContext.current)
.data(data = photoUri)
.build()
)
Image(
painter = painter,
contentDescription = "image",
contentScale = ContentScale.Fit
)
}
@Preview(showBackground = true, showSystemUi = true)
@Composable
fun TestViewPreview() {
// how to pass an placeholder image uri into the uri parameter?
TestCompose(navController = rememberNavController() , uri = "")
}
我想通过预览查看此视图中的图像
您可以像这样传递 placeholderUri :
@Preview(showBackground = true, showSystemUi = true)
@Composable
fun TestViewPreview() {
val placeholderUri = "https://picsum.photos/200/300" // Placeholder image URI
TestCompose(navController = rememberNavController() , uri = placeholderUri)
}
如果占位符图像在可绘制对象中可用,那么您可以像这样传递它:
@Preview(showBackground = true, showSystemUi = true)
@Composable
fun TestViewPreview() {
val placeholderUri = "android.resource://${LocalContext.current.packageName}/${R.drawable.ic_launcher}"
TestCompose(navController = rememberNavController() , uri = placeholderUri)
}
希望这有帮助!如果您还需要其他东西,请告诉我:)