Android 处理web应用程序的屏幕密度

Android 处理web应用程序的屏幕密度,android,android-webview,Android,Android Webview,我已经编写了一个非常简单的Android应用程序,它基本上在横向视图中显示一个全屏WebView(没有标题栏、通知栏或URL栏) 活动然后基本上从用户的PC加载一个client.html文件,然后加载一个固定的图像以填充整个屏幕。client.html文件有一个meta元素,如下所示 <meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, height=device-height, i

我已经编写了一个非常简单的Android应用程序,它基本上在横向视图中显示一个全屏
WebView
(没有标题栏、通知栏或URL栏)

活动
然后基本上从用户的PC加载一个
client.html
文件,然后加载一个固定的图像以填充整个屏幕。
client.html
文件有一个
meta
元素,如下所示

<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, height=device-height, initial-scale=1.0, user-scalable=no" />
<div id="BasicDemo" >
    <img id="nscreen" />
</div>
<script type="text/javascript">setImageSource()</script>
…这是javascript
setImageSource()

getDimensions()
函数是另一段javascript,它调用Android应用程序并以像素为单位检索“绝对”屏幕尺寸

这就是我的问题(我知道使用绝对像素可能是问题的根源)

根据我的要求,它被归类为用于web应用程序的hdpi,实际像素为800x480。设置图像源的调用看起来像…
“/control?size=800x480”
,并且工作正常。这张照片适合我的全屏。然而,有一个测试仪有一个7英寸的平板电脑,也是800x480,但由于屏幕大小,它被归类为mdpi。使用
“/control?size=800x480”
请求相同大小的图像,而
标记强制使用mdpi这一事实显然意味着图像过大

所以问题是——我在请求图像源时被迫指定尺寸——我应该如何正确地翻译东西?有没有人可以分享类似的经历


我已经读了好几遍,很明显我遗漏了一些东西。

尝试CSS媒体查询以LDPI、MDPI和HDPI为目标:

尝试CSS媒体查询以LDPI、MDPI和HDPI为目标:

function setImageSource() {
    $.getScript("myscript.js", function() {
        $("#nscreen").attr("src", "/control?size=" + getDimensions());
    });
}