首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从设备分辨率获取Get视图分辨率

从设备分辨率获取Get视图分辨率
EN

Stack Overflow用户
提问于 2019-09-12 23:15:22
回答 1查看 138关注 0票数 0

有没有一种方法可以从设备分辨率开始计算android设备的网络分辨率?

我的Pixel3a的设备分辨率为1080x2176像素,但当我在chrome上浏览页面时,渲染页面的分辨率为393x808。

我将定制一个web- to -app的Android应用程序,当页面加载完成时,我的javascript无法获得窗口的高度和宽度。

现在,我可以将设备分辨率作为头文件进行传递,这样我就可以在我的站点上使用PHP和javascript来检测传递的值。

代码如下:

代码语言: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之前,我无法获得它的分辨率,但是有没有一种方法可以检测浏览器分辨率而不是设备分辨率?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-09-13 16:27:09

我通过查找和使用phone的密度值解决了自己的问题:

代码语言:javascript
复制
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);

我看到这是一个应用程序可用的解决方案,所以它非常适合我的情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57909796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档