有没有一种方法可以从设备分辨率开始计算android设备的网络分辨率?
我的Pixel3a的设备分辨率为1080x2176像素,但当我在chrome上浏览页面时,渲染页面的分辨率为393x808。
我将定制一个web- to -app的Android应用程序,当页面加载完成时,我的javascript无法获得窗口的高度和宽度。
现在,我可以将设备分辨率作为头文件进行传递,这样我就可以在我的站点上使用PHP和javascript来检测传递的值。
代码如下:
Map <String, String> extraHeaders = new HashMap<String, String>();
int screenHorigin = Resources.getSystem().getDisplayMetrics().heightPixels;
int screenWorigin = Resources.getSystem().getDisplayMetrics().widthPixels;
double screenHD = (screenHorigin/2.819);
double screenWD = (screenWorigin/3.056);
int screenH = (int) screenHD;
int screenW = (int) screenWD;
extraHeaders.put("screen-h", Integer.toString(screenH));
extraHeaders.put("screen-w",Integer.toString(screenW));
mWebView.loadUrl(mUrl, extraHeaders);我知道在创建和渲染webview之前,我无法获得它的分辨率,但是有没有一种方法可以检测浏览器分辨率而不是设备分辨率?
谢谢!
发布于 2019-09-13 16:27:09
我通过查找和使用phone的密度值解决了自己的问题:
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
int screenHorigin = displayMetrics.heightPixels;
int screenWorigin = displayMetrics.widthPixels;
float density = Resources.getSystem().getDisplayMetrics().density;
double screenHDI = (screenHorigin/density);
double screenWDI = (screenWorigin/density);
double screenH = ceil(screenHDI);
double screenW = ceil(screenWDI);我看到这是一个应用程序可用的解决方案,所以它非常适合我的情况。
https://stackoverflow.com/questions/57909796
复制相似问题