Android 中获取手机屏幕的宽度和高度(单位为像素)

简介: Android 中获取手机屏幕的宽度和高度(单位为像素)

方法一:

//方法一:应用程序显示区域指定可能包含应用程序窗口的显示部分,不包括系统装饰
    Display display = getWindowManager().getDefaultDisplay();
        Point point = new Point();
        display.getSize(point);
        int width = display.getWidth();
        int height = display.getHeight();
        Log.e(TAG, "width: "+width+",height:"+height );

方法二:

//方法二:应用程序显示区域指定可能包含应用程序窗口的显示部分,不包括系统装饰
    Display display = getWindowManager().getDefaultDisplay();
        Point point = new Point();
        display.getSize(point);
        int width = point.x;
        int height = point.y;
        Log.e(TAG, "width: "+width+",height:"+height ); //720,1491

方法三:

//方法三:应用程序显示区域指定可能包含应用程序窗口的显示部分,不包括系统装饰
    DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
      int width = displayMetrics.widthPixels;
        int height = displayMetrics.heightPixels;
        Log.e(TAG, "width: "+width+",height:"+height ); //720,1491

方法四:

//方法四:获取的是实际显示区域指定包含系统装饰的内容的显示部分
    DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getRealMetrics(dm);
        int width = dm.widthPixels;
        int height = dm.heightPixels;
        Log.e(TAG, "width: " + width + ",height:" + height); //720,1560

getDefaultDisplay方法在API13时就已经被废弃,我们可以优先选择使用方法三中的方法,避免使用了getDefaultDisplay()方法。

如果我们运行在Android 系统11.0 对于API level 30的话我们可以使用以下方法,前提是运行的真机系统为Android 11.0系统才不会崩溃,且Android版本大于等于API level 30,否则还是用以上的方法。

方法五:

//方法五
        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.R) {
//            获取的是实际显示区域指定包含系统装饰的内容的显示部分
            int width = getWindowManager().getCurrentWindowMetrics().getBounds().width();
            int height = getWindowManager().getCurrentWindowMetrics().getBounds().height();
            Log.e(TAG, "width: " + width + ",height:" + height); //720,1491
            Insets insets = getWindowManager().getCurrentWindowMetrics().getWindowInsets()
                    .getInsetsIgnoringVisibility(WindowInsets.Type.systemBars());
            Log.e(TAG, "去掉任何系统栏的宽度:" + (width - insets.right - insets.left) + ",去掉任何系统栏的高度:" + (height - insets.bottom - insets.top));
        } else {
            //获取减去系统栏的屏幕的高度和宽度
            DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
            int width = displayMetrics.widthPixels;
            int height = displayMetrics.heightPixels;
            Log.e(TAG, "width: " + width + ",height:" + height); //720,1491
        }

具体注释已经给出,需要的可以直接拿去使用~


目录
相关文章
|
4月前
|
Android开发 数据安全/隐私保护
安卓手机修改设备id, 安卓硬改一键新机,手机机型修改(伪装)
提供了完整的设备信息修改功能,包含设备模板配置、基础信息修改、网络信息修改、模拟器检测绕
|
4月前
|
存储 人工智能 文字识别
三款安卓手机word编辑器下载,Microsoft Word,wps office,Word手机版,手机word编辑查看阅读器,PDF转换器apk下载
WPS Office是一款功能强大的办公软件,支持文档编辑、表格处理和演示文稿制作,兼容多种格式并提供丰富的云服务。它具备低内存占用、快速运行的特点,支持跨设备同步与多人协作,内置海量模板及AI辅助功能,如智能写作和PPT自动生成。此外,还可扫描文件、编辑PDF并转换为其他格式,极大提升办公效率,适合手机用户便捷操作。
440 1
|
3月前
|
编解码 监控 数据安全/隐私保护
免root屏幕录制脚本, 免root手机录制脚本,屏幕连点器点击【autojs】
完整屏幕录制功能:支持自定义分辨率、帧率和比特率 悬浮窗控制界面:提供直观的操作按钮和状态显示
|
3月前
|
机器学习/深度学习 Android开发 数据安全/隐私保护
手机脚本录制器, 脚本录制器安卓,识图识色屏幕点击器【autojs】
完整的UI界面,包含录制控制按钮和状态显示 屏幕点击动作录制功能,记录点击坐标和时间间隔
|
3月前
|
安全 机器人 数据安全/隐私保护
手机屏幕点击器,屏幕自动点击器,免费连点器(自动点击)【autojs】
完整UI界面:包含坐标录制、执行控制、参数设置等区域 坐标录制功能:实时捕捉屏幕点击位置并记录坐标
|
3月前
|
安全 数据安全/隐私保护
屏幕自动点击器, 手机自动点击器, 自动连点器屏幕【autojs】
完整UI界面:包含悬浮窗控制面板,支持拖动位置调整 核心功能:单点/连续点击、位置记录、任务执行与停止
|
5月前
|
Android开发
安卓硬改一键新机工具,一键修改手机型号,串号网卡Imei、sn码【仅供学习参考】
声明部分:仅供学习参考使用,基于Xposed框架实现的设备信息伪装模块的完整代码,包含多个功能模块:
|
4月前
|
API Android开发 数据安全/隐私保护
|
4月前
|
XML API Android开发
自动点击精灵, 手机自动点击器,屏幕自动点击器
完整的Android自动点击器应用,包含了基础点击功能、多点触控和手势滑动等高级特性。如需进一步
|
5月前
|
存储 JSON API
安卓ck提取工具,可提取手机cookie插件,AUTOJS即可实现
怎么用autojs提取手机端的CK?其实autojs是支持提取ck的但是他提取的不是浏览器的CK,二十他自身浏览器环境的c

热门文章

最新文章