gpt4 book ai didi

css - 支持 phonegap 中的多种分辨率和图像密度

转载 作者:技术小花猫 更新时间:2023-10-29 12:01:08 25 4
gpt4 key购买 nike

我是 phonegap 的新手,遇到了一个问题,我正在制作一个 phonegap 应用程序,它将在不同屏幕尺寸和不同屏幕分辨率的多个平台设备上运行,所以我必须根据屏幕分辨率加载不同分辨率的图像。

这可以在 android 中实现,只需将不同分辨率的图像放在 hdpi、mdpi 和 ldpi 文件夹中,它 (android) 会根据设备屏幕分辨率自动获取图像。但是如何在 phonegap 中做到这一点。

我看过很多关于响应式网页设计的文章,他们都在讲如何在网页上定位元素,但没有一篇讲过如何根据屏幕分辨率来放置图像。

谢谢我提前。

编辑的问题

我在html中使用了以下代码

<div id="header" data-role="header" data-position="fixed">
<img alt="app_icon" src="pictures/app_logo.png" display="inline" class="align-left" />
<img alt="brand_icon" src="pictures/company_logo.png" display="inline" class="align-right" /><h1></h1>
</div>

现在我在 assets/www/pictures 文件夹中有图像。此文件夹包含 2 个相同分辨率的图像 app_logo.png 和 company_logo.png 以及 2 个更高分辨率的图像 app_logo_big.png 和 company_logo_big.png 现在通过媒体查询我将知道屏幕尺寸并应用样式但据我所知我无法从 css 更改 img src。那么现在我将如何使用这些不同分辨率的图像

最佳答案

然后通过jquery动态改变图片:

HTML:

<div id="header" data-role="header" data-position="fixed">
<img id="app-icon" src="pictures/app_logo.png" display="inline" />
</div>

Javascript:

$(document).ready(function () {
if(window.devicePixelRatio == 0.75) {
$("#app-icon").attr('src', '/images/lpdi/app-icon.png');
}
else if(window.devicePixelRatio == 1) {
$("#app-icon").attr('src', '/images/mdi/app-icon.png');
}
else if(window.devicePixelRatio == 1.5) {
$("#app-icon").attr('src', '/images/hpdi/app-icon.png');
}
else if(window.devicePixelRatio == 2) {
$("#app-icon").attr('src', '/images/xpdi/app-icon.png');
}
}

通过 CSS:使用不同分辨率的媒体查询:

HTML:

<div id="header" data-role="header" data-position="fixed">
<span id="app-icon"></div>
<span id="brand-icon"></div>
</div>

CSS:

/* Low density (120), mdpi */
@media screen and (-webkit-device-pixel-ratio: 0.75) {
#app-icon { background-image:url(pictures/ldpi/app-icon.png); }
#brand-icon { background-image:url(pictures/ldpi/brand-icon.png); }
}

/* Medium density (160), mdpi */
@media screen and (-webkit-device-pixel-ratio: 1) {
#app-icon { background-image:url(pictures/mpi/app-icon.png); }
#brand-icon { background-image:url(pictures/mdpi/brand-icon.png); }
}

/* High density (240), hdpi */
@media screen and (-webkit-device-pixel-ratio: 1.5) {
#app-icon { background-image:url(pictures/hdpi/app-icon.png); }
#brand-icon { background-image:url(pictures/hdpi/brand-icon.png); }
}

/* Extra high density (320), xhdpi */
@media screen and (-webkit-device-pixel-ratio: 2) {
#app-icon { background-image:url(pictures/xdpi/app-icon.png); }
#brand-icon { background-image:url(pictures/xdpi/brand-icon.png); }
}

如果要过滤,

方向 - 和(方向:横向)

设备宽度和(最小设备宽度:480px)和(最大设备宽度:854px)

例子:

@media screen and (-webkit-device-pixel-ratio: 1.5) and (min-device-width : 640px) and (max-device-width : 960px) and (orientation: landscape) {
/* Your style here */
}

关于css - 支持 phonegap 中的多种分辨率和图像密度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12177134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com