Nia*_*med 6 android android-jetpack android-jetpack-compose
在 XML 中,我们通过使用@tools:sample/first_names等属性来使用样本名称、日期等。我们有什么方法可以在 Preview Composable 中以类似的方式使用@tools:sample中的示例数据吗?
您可以使用@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)
}
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您可以实现该PreviewParameterProvider
接口并创建类似以下内容的内容:
class SampleObjProvider: PreviewParameterProvider<Obj> {
override val values = sequenceOf(
Obj("Obj1",10),
Obj("Obj2",70))
override val count: Int = values.count()
}
Run Code Online (Sandbox Code Playgroud)
最后将 应用于@PreviewParameter
可组合项ObjCard
:
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)
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1342 次 |
最近记录: |