下面是两个函数
@Composable
private fun WaterCounter(modifier: Modifier = Modifier) {
val count = 0
Text(
text = "You've had $count glasses of water",
modifier = modifier.padding(all = 16.dp)
)
}
@Preview(showBackground = true)
@Composable
private fun PreviewWaterCounter() {
WaterCounter()
}
因此,如果我们在WaterCounter中添加@Preview注解,这将保存一些代码行,并同时作为预览和小部件工作,不是更好吗?
1条答案
按热度按时间1bqhqjot1#
对于像您发布的代码这样的简单情况,拥有一个单独的可组合预览似乎有点太多了,但是考虑一下这个场景,其中有两个具有非默认参数的可组合,
这两个都需要相同的数据类,第一个有一个额外的参数。2如果我必须预览它们,我必须打破他们的签名,分配默认值给他们只是为了预览。
一个很好的解决办法是有2个单独的预览合成,并利用
PreviewParameterProvider
有一个可重用的实用程序,可以提供我需要的参数的示例。或者,如果
PreviewParameterProvider
有点太多,您可以简单地创建一个预览组合,在其中您可以创建和提供模拟数据。使用这些方法中的任何一种,您都不需要破坏实际的可组合对象的结构,只是为了看一看它的样子。