我一直在使用Phonegap为Android开发移动应用程序。我在使用屏幕DPI和键盘显示时遇到了困难。
如何使用各种屏幕分辨率的各种dpi图像?我希望当键盘出现时屏幕滚动。
我使用position:absolute和%表示元素的宽度,高度和字体大小,以便我的应用根据各种屏幕尺寸和方向进行调整。
所以,现在我想要键盘问题和图像问题的解决方案。
答案 0 :(得分:3)
@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 */
}
答案 1 :(得分:1)
$(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');
}
}
答案 2 :(得分:0)
你需要为你正在创建应用程序的设备实现条件代码,在android中我们有多个设备,所以你需要根据你需要创建图像大小和位置来检查它是高清设备还是全高清进入可敬的文件夹,所以请检查你的deivce像素比率。
if(window.devicePixelRatio == 1.5) {
"HD device "
}
else if(window.devicePixelRatio == 2) {
}
因此您可以从上面的代码设备像素比检查,并且您可以根据设备在if条件下应用图像。