我在使用 Kotlin 编码时遇到了问题。我复制粘贴了一个java代码示例 https://stackoverflow.com/a/9685690/6818446将 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
演员阵容as Int
被标记为错误
“这个演员阵容永远不会成功”
如何解决这个问题?
为什么不尝试使用扩展函数,例如
val Int.dp: Int get() = (this / getSystem().displayMetrics.density).toInt()
转换为 DP 和
val Int.px: Int get() = (this * getSystem().displayMetrics.density).toInt()
转换为像素?
希望能帮助到你 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)