gpt4 book ai didi

java - 在 Kotlin 中将 Dp 转换为 Px - 这种转换永远不会成功

转载 作者:行者123 更新时间:2023-12-01 17:46:40 27 4
gpt4 key购买 nike

我在使用 Kotlin 编码时遇到了问题。我复制粘贴了java code sample将 DP 转换为像素,以便将其作为以编程方式设置填充的参数。我原本希望 IDE 能够自动将其全部转换为 Kotlin,但在此过程中失败了。

Java 中的代码如下所示:

float scale = getResources().getDisplayMetrics().density;
int dpAsPixels = (int) (sizeInDp*scale + 0.5f);

转换为 Kotlin 后:

val scale = resources.displayMetrics.density
val dpAsPixels = (sizeInDp * scale + 0.5f) as Int

转换为 Int 标记有错误

"This cast can never succeed"

如何解决这个问题?

最佳答案

为什么不尝试使用扩展函数,例如

val Int.dp: Int get() = (this / getSystem().displayMetrics.density).toInt()

转换为 DP 和

val Int.px: Int get() = (this * getSystem().displayMetrics.density).toInt()

转换为像素?

希望有帮助:)

关于java - 在 Kotlin 中将 Dp 转换为 Px - 这种转换永远不会成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54397305/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com