在 Jetpack Compose 中迈出第一步,这非常令人惊奇,除了一个恼人的问题。
我有一组固定的预览:正常、深色和 RTL:
@Preview(
name = "Normal",
group = "Screen",
showBackground = true
)
@Preview(
name = "Dark",
group = "Screen",
showBackground = true,
uiMode = Configuration.UI_MODE_NIGHT_YES
)
@Preview(
name = "RTL",
group = "Screen",
showBackground = true,
locale = "iw"
)
@Composable
fun JustAComposable() {
...
}
举个例子,我预览了 50 个可组合函数。我需要将这个集合复制粘贴 50 次,这是绝对不正确的。
注释继承是被禁止的,所以我的问题是:是否有人找到了在所有可组合函数中重用同一组预览的方法?
我能想到的唯一的两个解决方案是:
- 使用多个自定义预览only发展的同时。
- 部分重用预览 - 使用名称和组的编译时常量。
Edit:
我创建了一个功能请求来组成团队,以便能够创建自定义注释并使用我想要重用的所有预览来注释注释。
这样我只需要使用我的自定义注释。
可以追踪到谷歌问题跟踪器 https://issuetracker.google.com/issues/198165617
已接受的功能请求现已实现,并可从 Android Studio Dolphin 和 Jetpack Compose 1.2.0-beta01 开始使用。
它被称为多重预览注释。有关此功能的更多信息可以在这里找到的。 https://developer.android.com/jetpack/compose/tooling#preview-multipreview
为了使用此功能,您必须创建一个自定义注释类。
@Preview(
name = "small font",
group = "font scales",
fontScale = 0.5f
)
@Preview(
name = "large font",
group = "font scales",
fontScale = 1.5f
)
annotation class FontScalePreviews
现在您可以应用这个注释类。例如:
@FontScalePreviews
@Composable
fun HelloWorldPreview() {
Text("Hello World")
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)