天天看点

Android带虚拟按键的手机不认res/values的屏幕适配解决方案

在某些带虚拟按键的手机上会出现不识别values文件的情况,例如1080*1920的带虚拟按键的手机,不会识别values-1920*1080的资源文件。

Android带虚拟按键的手机不认res/values的屏幕适配解决方案
Android带虚拟按键的手机不认res/values的屏幕适配解决方案

同样都是1080P,但是带虚拟键盘是不识别的。

原因是:带虚拟键盘的屏幕分辨率是1920*1080,但实际上他是识别真实高度((1920-虚拟键盘高度)*1080)。虚拟键盘高度哪里来呢?如果可以从参数上获取就取那个,如果不行就用类似QQ截图看像素,真实高度=宽/QQ截图上的宽*QQ截图上的虚拟键盘高

我测出来1080P手机的虚拟键盘高度是144像素。

Android带虚拟按键的手机不认res/values的屏幕适配解决方案

于是我把1920*1080复制了一份到1776*1080,完美解决。

ps:后面遇到1280*720的带虚拟按键的,分辨率为1184*720