在 XML 中,我们通过使用 等属性来使用样本名称、日期等。 @tools:sample/first_names .
有什么方法可以使用类似于 的样本数据吗? @tools:样本在预览可组合?
最佳答案
您可以使用 @PreviewParameter
.
例如:
data class Obj(val name :String,val count:Int)
@Composable
fun ObjCard(obj:Obj) {
Card(
Modifier.width(100.dp).height(50.dp)){
Column(
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally)
{
Text("Name = " +obj.name)
Text("Count = " +obj.count)
}
}
}
在这种情况下,您可以实现 PreviewParameterProvider
接口(interface)并创建类似的东西:class SampleObjProvider: PreviewParameterProvider<Obj> {
override val values = sequenceOf(
Obj("Obj1",10),
Obj("Obj2",70))
override val count: Int = values.count()
}
最后申请@PreviewParameter
到ObjCard
可组合:@Preview(showBackground = true)
@Composable
fun ObjCard(@PreviewParameter(SampleObjProvider::class) obj:Obj) {
//..same code
}
关于android - 如何在 Composable 中使用示例数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67142449/