【发布时间】:2022-12-13 18:55:23
【问题描述】:
如果屏幕宽度为 600.dp 或更多或宽度的 80% 更小,我有以下方法将 LazyItemScope 中的某些内容的宽度设置为 300.dp。
@Composable
private fun LazyItemScope.widthModifier(configuration: Configuration = LocalConfiguration.current): Modifier =
if (configuration.screenWidthDp >= 600) Modifier.width(300.dp) else Modifier.fillParentMaxWidth(.8f)
这给出了一个警告,即修改器工厂函数应该使用组合,所以我将其重写如下:
private fun LazyItemScope.widthModifier(): Modifier =
Modifier.composed {
val configuration: Configuration = LocalConfiguration.current
if (configuration.screenWidthDp >= 600) Modifier.width(300.dp) else Modifier.fillParentMaxWidth(.8f)
}
但是我仍然收到一条错误消息,指出 Modifier 扩展函数应该是 Modifier 上的扩展。但如果它是 Modifier 的扩展,则 fillParentMaxWidth 不可用。
有什么方法可以重写它以使其符合 lint 检查吗?
【问题讨论】:
标签: android android-jetpack-compose