Kitkat小屏幕模式单手操作研究之缘起

来源:互联网 发布:匡恩网络最新动态 编辑:程序博客网 时间:2024/04/30 04:44

在调查如何实现类似vivo的单手操作小屏幕模式的时候,在网上看到如下的文章深有感触(感觉世界又美好了很多^_^):

<http://blog.csdn.net/longxiaowu/article/details/25329677>

关键内容摘录如下:

 

注:Android 4.3引入的wm工具

wm命令及用法:

系统说明:

usage: wm [subcommand] [options]       wm size [reset|WxH]       wm density [reset|DENSITY]       wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM] wm size: return or override display size.wm density: override display density.wm overscan: set overscan area for display.


 

wm命令是对手机分辨率、像素密度、显示区域进行设置,并可以快速看到效果的命令。其参数比较少,下面逐条介绍一下该命令的用法。

 

1、wm size [reset|WxH]

[]内的是可选项。单纯运行wm size命令将会得到lcd本身设置的显示分辨率。如下图1-1所示:

图1-1 执行#wm size查看手机的分辨率

 

wm size W x H命令是按witch x hight 设置分辨率。如果分辨率设置的过大,图标会变大,反之则变小。设置了分辨率以后执行wm size命令,可以看到LCD本身的分辨率及overwrite的分辨率。如下图1-2所示:


图1-2 执行#wm size设置手机的分辨率

 

#wm size reset 命令是将分辨率设置为LCD原始分辨率。

 

 

2、 wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]

该命令用来设置、重置LCD的显示区域。四个参数分别是显示边缘距离LCD左、上、右、下的像素数。例如,对于分辨率为480x800的屏幕,在使用#wm size 720x1200命令后,再通过执行如图1-3所示的命令,可将显示区域限定在一个480x800的矩形框里。效果图如图1-4所示。

 

图1-3 使用#wm overscan 命令设置屏幕overscan值

 

 

图1-4 执行#wm overscan后的效果图

 

 

3、 wm density [reset|DENSITY]

该命令的用法类似于wm size 命令,作用是读取、设置或者重置LCD的density值。density值即LCD的ppi.

调用#wm density命令,查看当前设备的density的值。


图1-5 执行#wm density查看当前设备的density值

 

调用#wm density 120设置当前设备的density为120ppi,命令如图6所示,执行的结果如图7所示:

 

图1-6 执行#wm density设置当前设备的density值


图1-7 执行图6的命令后的效果图

说明:图1-7是在图1-4的基础上执行图1-6的命令得到的,可以看到,此时屏幕中浏览器应用显示的是平板的模式。从输入栏就就可以看出来。

 

 

调用#wm density reset 将对density的修改恢复到原始值。

 

 

通过以上的尝试,发现小屏幕模式就近在眼前。那么接下来的工作就是,调查,Android的该命令的实现方式。


 

0 0