修改Android手机的分辨率和屏幕密度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改Android手机的分辨率和屏幕密度相关的知识,希望对你有一定的参考价值。

参考技术A

原文: https://blog.csdn.net/CrazyApes/article/details/116994631

之前一直不知道手机的DPI还可以修改,以前测试我都是用好几个测试机,或者通过修改开发者模式下的最小宽度去看适配的问题。呐,前段时间朋友说可以直接用adb改,赶紧记下来,省的以后忘了。

adb 命令

wm size [reset|WxH|WdpxHdp]
return or override display size. width and height in pixels unless suffixed with \'dp\'.

查看分辨率: wm size
修改分辨率: wm size 1440x2560
还原初设置: wm size reset

测试机: 华为 FRD-DL00

wm density [reset|DENSITY]
查看密度: wm density
修改密度: wm density 480
还原设置: wm density reset

测试机: 华为 FRD-DL00

Security exception: Must hold permission android.permission.WRITE_SECURE_SETTINGS

莫慌,打开下 开发者选项 中的 USB调试(安全设置) 就行了。

有时间可以都看一下,试一试,蛮好玩的。

说起来巧了,就像前言说的我不知道手机可以改DPI,之前一直是用的开发者模式下的最小宽度修改来测试。后来发现,这个其实也是修改了DPI,仔细想想density和px还有dp的关系,就突然能明白为啥了。

手机 开发者模式

首先得打开手机的 开发者模式 ,咋打开应该不用说了把。
不知道的小伙伴可以试着去找到你手机的 系统版本 那里一顿狂点。
然后就有惊喜了。
比如: Redmi 9A

咱就直接进入 开发者选项 里把。
找到 绘图 模块下的 最小宽度 栏目。
点开之后直接输入想要的最小宽度就行了。
注意: 这里是以 dp 为单位的。
如果你的UI设计图的宽度跟你的手机不符,开发的时候,可以尝试修改这个达到演示的目的。

如下: Redmi 9A

由于输入的是宽度值,无法直观的看到 density 的变化,但是咱们可以用方式一去验证下,就可以看到它的变化是改了 density 的值的。

机型:Redmi 9A

可见,在 分辨率 不变的前提下,修改了最小宽度之后,设备的 density 发生了变化。

android中的dp在渲染前会将dp转为px,计算公式:
px = density * dp;
density = dpi / 160;
px = dp * (dpi / 160);

原文: https://blog.csdn.net/CrazyApes/article/details/116994631
参考: https://developer.android.google.cn/guide/practices/screens_support

以上是关于修改Android手机的分辨率和屏幕密度的主要内容,如果未能解决你的问题,请参考以下文章

adb shell 获取手机分辨率

安卓手机屏幕分辨率怎么调整?

Android开发系列之屏幕密度和单位转换

Android 屏幕适配

Android 丨 获取屏幕尺寸与密度

Android 中的长度单位pxdpsp