调整了人脸识别背景及提示位置
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
package com.sw.dualscreen.utils
|
||||
|
||||
import android.content.Context
|
||||
import android.util.DisplayMetrics
|
||||
import android.view.WindowManager
|
||||
import timber.log.Timber
|
||||
import kotlin.math.sqrt
|
||||
|
||||
object ScreenUtils {
|
||||
fun printScreenInfo(context: Context, tag: String) {
|
||||
val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
|
||||
val displayMetrics = DisplayMetrics()
|
||||
|
||||
// 方法 1:获取应用可用区域(排除系统装饰,如状态栏)
|
||||
windowManager.defaultDisplay.getMetrics(displayMetrics)
|
||||
|
||||
// 方法 2:获取整个屏幕的物理尺寸(包括状态栏和导航栏)
|
||||
// windowManager.defaultDisplay.getRealMetrics(displayMetrics)
|
||||
|
||||
val screenWidthPx = displayMetrics.widthPixels // 屏幕宽度(像素)
|
||||
val screenHeightPx = displayMetrics.heightPixels // 屏幕高度(像素)
|
||||
val density = displayMetrics.density // 逻辑密度(1.0 = mdpi, 2.0 = xhdpi)
|
||||
val densityDpi = displayMetrics.densityDpi // 屏幕 DPI 分类(160 = mdpi, 320 = xhdpi)
|
||||
val xdpi = displayMetrics.xdpi // 物理水平 DPI
|
||||
val ydpi = displayMetrics.ydpi // 物理垂直 DPI
|
||||
|
||||
// 打印信息
|
||||
Timber.d("$tag 屏幕信息")
|
||||
Timber.d("屏幕分辨率(像素): ${screenWidthPx}x${screenHeightPx}")
|
||||
Timber.d("逻辑密度: $density")
|
||||
Timber.d("DPI 分类: $densityDpi")
|
||||
Timber.d("物理 DPI (x/y): $xdpi / $ydpi")
|
||||
|
||||
// 计算屏幕物理尺寸(英寸)
|
||||
val screenWidthInches = screenWidthPx / xdpi
|
||||
val screenHeightInches = screenHeightPx / ydpi
|
||||
val diagonalInches = sqrt(
|
||||
(screenWidthInches * screenWidthInches + screenHeightInches * screenHeightInches).toDouble()
|
||||
)
|
||||
Timber.d(
|
||||
"屏幕物理尺寸(英寸): %.1f x %.1f (对角线: %.1f\")".format(
|
||||
screenWidthInches, screenHeightInches, diagonalInches
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user