调整了人脸识别背景及提示位置

This commit is contained in:
zxj
2025-08-11 17:13:48 +08:00
parent fc326a8f42
commit fde2cd0544
5 changed files with 53 additions and 9 deletions
@@ -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
)
)
}
}