Android Compose中如何以像素而非dp为单位设置视图的高度

9

我想以像素而不是dp的方式设置视图的高度。

 `Box(modifier = Modifier.height(100.dp))`

在这个例子中,盒子的高度设置为100 dp,并且修饰函数只接受 dp 作为参数。如何将 Box 的高度设置为像素?
2个回答

11

正如@Kilian所说,这可能是这样的:

Modifier.height(with(LocalDensity.current) { 100.toDp() })

4
我想它能够运作,但是先将像素转换为 dips 再由系统将其转回像素,这种方式有点奇怪。 - Maarten
@Maarten 我会说将大小设置为除 DP 之外的其他内容是奇怪的。它专门设计为使 UI 在设备上尽可能相似,使用像素很少。 - Phil Dukhov
我经常想在层次结构中设置一些依赖的UI元素的大小,这是由onSizeChanged返回像素大小所导致的。你认为有更好的解决方案吗? - Maarten
@Maarten,你可以创建一个扩展程序,在其中包含我的代码。 - Phil Dukhov

2

1
我找不到这个扩展函数。我正在使用Compose UI版本1.1.1。 - Ofek Regev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接