Android日积月累系统之三-adb-shell-wm命令

1,066 阅读3分钟

Android日积月累系统之三-adb-shell-wm命令

1.wm相关子命令和操作

wm size的相关操作 有 wm size 1920x1080 wm size 960dpx540dp wm size reset

usage: wm [subcommand] [options]
       wm size [reset|WxH|WdpxHdp]
       wm density [reset|DENSITY]
       wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]
       wm scaling [off|auto]
       wm screen-capture [userId] [true|false]

//wm size 显示或修改显示display size
wm size: return or override display size.
         width and height in pixels unless suffixed with 'dp'.

//显示或修改display密度
wm density: override display density.

//设置扫描区域?
wm overscan: set overscan area for display.

//设置显示缩放模式
wm scaling: set display scaling mode.

//启用或禁用屏幕截图
wm screen-capture: enable/disable screen capture.

//说明: 前提没有设置数字,图案,PIN密码,如果是锁屏待机状态,执行此命令后,直接解锁进入桌面
wm dismiss-keyguard: dismiss the keyguard, prompting the user for auth if necessary.

2.dpi density ppi px dp sp

名词解释备注
dpi像素密度(Dots Per Inch),
指每英寸的像素
公式是dpi=屏幕对角线像素总数px/屏幕对角线长度in
常见的dpildpi:120 mdpi:160 hdpi:240 xhdpi:320 xxhdpi:480 xxxxhdpi:640
density屏幕密度,规定以160dpi的屏幕其屏幕密度为1,反过来说就是屏幕密度为1的屏幕上1in上有160px
ppiPPI(Pixel Per Inch)
分辨率例如 1920 * 1080 就是说 我的屏幕宽度有 1920 个像素点 ,高度有 1080 个像素点。
屏幕大小例如我的是4.0 英寸, 就是指 从屏幕的左上角 到 屏幕的右下角 连线长度为4.0英寸
px像素单位。最基础的图像构成元素单位。 1px代表1个像素
dpAndroid开发上的基于屏幕密度的一种密度无关的像素单位,1dp代表的像素长度=density * 1px
dp单位解决了同尺寸不同分辨率下,保持显示比例一致
sp放大像素。Android发明的长度单位,一般用于设置字体大小

3.安卓屏幕碎片化

同样尺寸,不同分辨率。同分辨率,不同尺寸

 res/
      mipmap-xxxhdpi/
        launcher-icon.png
      mipmap-xxhdpi/
        launcher-icon.png
      mipmap-xhdpi/
        launcher-icon.png
      mipmap-hdpi/
        launcher-icon.png
      mipmap-mdpi/
        launcher-icon.png
        
        
res/
      drawable-xxxhdpi/
        awesome-image.png
      drawable-xxhdpi/
        awesome-image.png
      drawable-xhdpi/
        awesome-image.png
      drawable-hdpi/
        awesome-image.png
      drawable-mdpi/
        awesome-image.png

values默认的为1dp对应2px,将px转换成dp,作为基础值。

res/
	values/
	values-sw360dp
	values-sw480dp
	values-sw720dp

4.修改屏幕密度density 来适配机器

如果有一些toB的特殊机器(to c的用户手机肯定不能这样做),屏幕宽高一直不变,但是屏幕的密度density 多种多样,可以通过values-swxxdp方案来适配,也可以直接通过运行 wm density 160来把机器的屏幕密度设置成一样,然后样式就可以保持一致了。

当屏幕分辨率不变时,直接修改密度,设置的密度越大,控件也越大,因为一个dp代表的像素变大了。