我一直在使用Phonegap为Android开发移动应用程序。我在屏幕 DPI 和键盘显示方面遇到困难。
如何将图像用于具有各种屏幕分辨率的各种 dpi?我希望屏幕在键盘出现时滚动。
我正在使用 position:absolute 和 % 作为元素的宽度、高度和字体大小,以便我的应用程序根据各种屏幕尺寸和方向进行调整。
所以,现在我想要键盘问题和图像问题的解决方案。
@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); }
}
你可以通过定向
ORIENTATION - and (orientation: landscape)
Device WIDTH and (min-device-width : 480px) and (max-device-width : 854px)
Example:
@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 */
}
$(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');
}
}
为正在创建应用程序的设备实现条件代码,在Android中,我们拥有多个设备,因此您需要根据需要检查它是高清设备还是全高清设备,以创建图像大小并放入可观的文件夹中,因此请检查您的Deivce像素比。
if(window.devicePixelRatio == 1.5) {
"HD device "
}
else if(window.devicePixelRatio == 2) {
}
因此,您可以从上面的代码中检查设备像素比,并且可以在IF条件下根据设备应用图像。