0

Phonegap を使用して Android 用のモバイル アプリを開発しています。画面の DPI とキーパッドの表示に問題があります。

さまざまな画面解像度でさまざまな dpi の画像を使用するにはどうすればよいですか? そして、キーパッドが表示されたときに画面をスクロールしたい。

さまざまな画面サイズと向きに基づいてアプリが調整されるように、要素の幅、高さ、フォント サイズに position:absolute と % を使用しています。

だから、今私はキーパッドの問題と画像の問題の解決策が欲しい.

4

3 に答える 3

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 */
}
于 2014-01-03T05:51:01.277 に答える
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');  
  }
}
于 2014-01-03T05:43:25.277 に答える
0

アプリケーションを作成しているデバイスの条件付きコードを実装する必要があります。Androidには複数のデバイスがあるため、画像サイズを作成して適切なフォルダーに配置する必要があるため、hdデバイスかフルhdかを確認する必要がありますデバイスのピクセル比を確認してください。

if(window.devicePixelRatio == 1.5) {

"HD device "
} 
 else if(window.devicePixelRatio == 2) {


}

上記のコードデバイスのピクセル比から確認でき、if条件でデバイスごとに画像を適用できます。

于 2014-01-03T05:18:55.593 に答える