如何将调整尺寸后的Android显示区域移动至屏幕顶部
Android修改显示尺寸后将显示区域移至屏幕顶部的方法
你通过adb shell wm size修改显示分辨率后,系统默认会把缩放后的显示内容放在屏幕垂直居中位置,常规overscan操作没效果一般是参数设置顺序错误或者没有先重置旧配置导致的,可按以下步骤操作:
- 先重置所有已有的overscan配置,避免历史参数干扰:
adb shell wm overscan reset - 准确计算偏移参数:先执行
adb shell wm size查看设备原始物理分辨率(即未做任何尺寸修改时显示的Physical size数值),再减去你设置的自定义显示尺寸的高度,得到垂直方向的总空余像素值。wm overscan的参数顺序为左偏移,上偏移,右偏移,下偏移,单位为像素。要让显示区域贴紧屏幕顶部,只需要把上偏移设为0,所有垂直空余值全部设为下偏移,左右偏移设为0即可。
示例:如果设备原始物理分辨率为10802400,你自定义设置的显示尺寸为10801800,垂直方向总空余为2400-1800=600像素,对应执行命令为
adb shell wm overscan 0,0,0,600
- 如果你的设备是Android 12及以上版本,原生wm overscan逻辑修改导致上述方法无效,在已获取root权限的前提下,可以直接调用SurfaceFlinger接口设置显示偏移:
adb shell su -c "service call SurfaceFlinger 1026 i32 0 i32 0"
其中第二个i32后的参数为垂直方向偏移量,设为0即表示显示内容顶到屏幕最顶部。
调整前默认居中的显示效果参考:
内容的提问来源于stack exchange,提问作者radunieczek
相关产品推荐
相关产品推荐

