Androidタブレット(Nexus 7)のChromeに表示されるときに、画面サイズと向きの変更(CSSメディアクエリを使用)に正しく応答する基本的なWebページがあります。 WebViewで同じページを表示すると、画面幅に基づくメディアクエリが機能しません。ここで私はWebViewのを設定してい方法は次のとおりです。Android WebViewとCSSメディアクエリ
WebView webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.loadUrl("http://10.0.1.8:8080/cbc/test");
WebViewのが正しく、次のメディアクエリの行動に基づいて、向きの変更を検出します。画面のサイズを使用して
@media only screen and (orientation: portrait) {
.landscape { display: none; }
}
@media only screen and (orientation: landscape) {
.portrait { display: none; }
}
メディアクエリは正しく動作しません。次のJavaScriptによれば、画面の幅と高さは向きの変更によって一定のままであるからです。
$("#dimensions").empty();
$("#dimensions").append($("<div>Width: " + screen.width + "</div>"));
$("#dimensions").append($("<div>Height: " + screen.height + "</div>"));
$("#dimensions").append($("<div>Depth: " + screen.pixelDepth + "</div>"));
私は以前の共同「方向転換」イベントを伴うde。 AndroidでChromeで実行している場合、デバイスの向きを考慮して、幅と高さの値が正しく表示されます。 WebViewの内部で実行している場合、幅と高さは方向に関係なく一定です。
予想される動作を得るためにWebViewに適用する必要のある設定がありますか?
質問が配向変化を横切る幅と高さのクエリを追跡に関連しています。ピクセル密度に基づいて選択することはここでは役に立ちません。 –