android定义前端布局单位

    fun getWindowWidth(context: Activity): Int {
    //context.resources.configuration.screenWidthDp
        val resources = context.resources
        val displayMetrics = resources.displayMetrics
        return if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
            val windowMetrics: WindowMetrics = context.windowManager.currentWindowMetrics
            windowMetrics.bounds.width()
        } else {
            displayMetrics.widthPixels
        }
    }

    fun getWindowHeight(context: Activity): Int {
        val resources = context.resources
        val displayMetrics = resources.displayMetrics
        return if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
            val windowMetrics: WindowMetrics = context.windowManager.currentWindowMetrics
            windowMetrics.bounds.height()
        } else {
            displayMetrics.heightPixels
        }
    }
}

fun Activity.getActivityWidth(): Int {
    return WindowSizeGetter().getWindowWidth(this)
}

fun Activity.getActivityHeight(): Int {
    return WindowSizeGetter().getWindowHeight(this)
}
val Int.rpx get() = (App.instance.resources.displayMetrics.widthPixels * this / 750)
val density = App.instance.resources.displayMetrics.density
val Int.rdp get() = (this.rpx / density + 0.5f).dp

你可能感兴趣的:(android,前端)