Android屏幕硬件宽高和当前View显示区域的宽高,Kotlin

Android屏幕硬件宽高和当前View显示区域的宽高,Kotlin

Kotlin 复制代码
    private fun getScreenSize() {
        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.R) {
            //屏幕实际显示区域的宽高,包含系Android统的状态栏和导航栏,可以简单理解这就是屏幕硬件尺寸固定的宽高。
            val width = windowManager.currentWindowMetrics.bounds.width()
            val height = windowManager.currentWindowMetrics.bounds.height()
            Log.d(TAG, "硬件屏幕固定的尺寸 宽=$width 高=$height")
            val insets: Insets = windowManager.currentWindowMetrics.windowInsets.getInsetsIgnoringVisibility(WindowInsets.Type.systemBars())
            val w = width - insets.right - insets.left
            val h = height - insets.bottom - insets.top
            Log.d(TAG, "减去Android系统(状态栏+导航栏),当前View显示区域 宽=${w} 高=${h}")
        } else {
            //减去Android系统(状态栏+导航栏)后的高度和宽度。
            val displayMetrics = resources.displayMetrics
            val width = displayMetrics.widthPixels
            val height = displayMetrics.heightPixels
            Log.d(TAG, "width: $width height:$height")
        }
    }

特别注意,以上获取的宽高尺寸,随着屏幕旋转/横竖屏切换后,会实时更新。比如,竖屏下宽是1080,高是1920;切换到横屏,那么此时返回的宽是1920,高是1080。

Android获取设备屏幕宽高pix值的两个方法_android返回的pix-CSDN博客文章浏览阅读812次。private void get1() { Resources resources = this.getResources(); DisplayMetrics dm = resources.getDisplayMetrics(); int width = dm.widthPixels; int height = dm.heig..._android返回的pixhttps://blog.csdn.net/zhangphil/article/details/80014827Android测量View宽和高的一般通用方法_安卓获取view的宽高-CSDN博客文章浏览阅读1.3k次。Android测量View宽和高的一般通用方法众所周知Android在onCreate里面如果直接对一个View进行getWidth,getHeight时候,得到到的值全部是0,这样拿不到View的宽和高的值,但有时候又必须在初始化阶段获取一个View的宽和高,现在给出一个基本的通用方法: int w = View.MeasureSpec.makeMeasureSpec(0, Vie_安卓获取view的宽高https://blog.csdn.net/zhangphil/article/details/79939650

相关推荐
QiLinkOS5 小时前
QiLink OS的失败数据共享平台的运作模式是否适用于所有行业?
android·开发语言·人工智能·算法·重构·开源
杉氧5 小时前
Framework 补完计划 (2):BufferQueue 与 SurfaceFlinger —— 像素的跨进程“接力赛”
android·架构·android jetpack
牢七5 小时前
RCE?复现成功
android
一化十6 小时前
Android16 自定义全局手势 任意界面依次点击屏幕四个角返回Home界面
android
三少爷的鞋7 小时前
Android 面试系列:Kotlin 协程的 delay 到底发生在哪个线程?
android
TechNomad19 小时前
Kotlin_Lambda编程详解
android·kotlin
熊猫_豆豆19 小时前
QT6 Android C++ 自制美观闹钟
android·c++·qt·闹钟
美狐美颜SDK开放平台19 小时前
Android/iOS直播APP平台开发中的视频美颜SDK优化技巧
android·ios·音视频·美颜sdk·第三方美颜sdk
聚美智数1 天前
黄历查询-运势查询-国际法定节假日查询-API接口介绍
android·java·数据库
私人珍藏库1 天前
[Android] 一木百宝箱-万能百宝箱+抖音去水印等几百种功能
android·人工智能·app·软件·多功能