Android 4.0 以降のアプリで、埋め込まれた WebView に CSS のサイズを指定する方法を理解しようとしています。私がテストしている 3 つのデバイス (Nexus 4/7/10) では、次のビューポート ディレクティブを使用すると、次のように見えます。
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
...その場合、その webview に読み込まれたコンテンツの CSS 寸法は、デバイスに依存しないピクセルとまったく同じです。つまり、2560 物理ピクセル幅の Nexus 10 で、webview で幅 1280 を指定すると、画面の幅を正確に埋めます。
CSS でデバイスに依存しないピクセルを使用できるというアイデアは気に入っていますが、そのような DIP で使用可能なスペースを正確に計算できるようにする必要があります。したがって、WebView の幅が 1920 物理ピクセルである場合、CSS ピクセルでの幅は次のようになるはずです。
- mdpi ディスプレイでは、1920px です。
- hdpi ディスプレイでは、1280px です。
- xhdpi ディスプレイでは、960px。
- xxhdpi ディスプレイでは、640px。
これは本当ですか?