我在Kotlin中编码时遇到了一个问题。我复制粘贴了一个将DP转换为像素的java code sample,以便将其作为编程设置填充的参数。我希望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
标记有错误
"这个演员永远不会成功"
如何解决此问题?
4条答案
按热度按时间wxclj1h51#
为什么不尝试使用扩展函数,例如
转换为DP和
转换为像素?
希望有帮助:)
ig9co6j12#
可以通过移除强制转换
as Int
并将其替换为方法.toInt()
来解决此错误gopyfrb33#
如果dimens.xml中有值
然后,您可以将像素值作为Int
dgiusagp4#
扩展名.kt文件