Android Kotlin中的设备维度不是java

Android Kotlin中的设备维度不是java,android,kotlin,device,dimensions,Android,Kotlin,Device,Dimensions,如何计算kotlin中Android设备的尺寸 我试过: val displayMetrics = DisplayMetrics() windowManager.defaultDisplay.getMetrics(displayMetrics) var width = displayMetrics.widthPixels var height = displayMetrics.heightPixels 它给了我以下错误: "getter for defaultDisplay: D

如何计算kotlin中Android设备的尺寸

我试过:

val displayMetrics = DisplayMetrics()
windowManager.defaultDisplay.getMetrics(displayMetrics)
 
var width = displayMetrics.widthPixels
var height = displayMetrics.heightPixels
它给了我以下错误:

"getter for defaultDisplay: Display!' is deprecated. Deprecated in Java:"

谢谢你

如果你查看文档,你会发现有一个关于使用什么的建议:

不推荐:改用


有关更多详细信息,请参阅以下文档


现在的新方法是使用上下文,这种方法是我用来获取真实高度的方法,具体取决于屏幕的方向

注意*确保活动或片段的上下文

fun getDisplayHeight(context: Context): Int {


   val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
   val displayMetrics = DisplayMetrics()


    try {

        context.display?.getRealMetrics(displayMetrics)
    } catch (e: NoSuchMethodError) {
        windowManager.defaultDisplay.getRealMetrics(displayMetrics)
    }


    return if (context.resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            minOf(displayMetrics.widthPixels, displayMetrics.heightPixels)
        } else {
            maxOf(displayMetrics.widthPixels, displayMetrics.heightPixels)
        }

}

除非确实需要,否则不要截图文本,请参见和。考虑到这一点,这比Egor之前的回答更糟糕。请不要只是复制粘贴文档,请给出一个完整的示例。请检查您的代码。它给出了未解决的参考:上下文八月我刚刚更新了我的答案我希望它能解决你的问题,你从哪里得到上下文?谢谢,它现在起作用了。我还需要设置
minsdkversion30