У меня полноэкранный веб-просмотр, который загружает намного меньшее разрешение, чем экран. На эмуляторе его 412х684, что примерно в 3,5 раза меньше, чем разрешение экрана 1440х2392. Под dev tools -> configuration он показывает плотность на уровне 3,5, так что я думаю, что это как-то связано с этим, но приложение похоже на то, что оно работает с полным разрешением, отличным от веб-просмотра.
Я пытался раздеть все, что мог, чтобы свести к минимуму что-либо вызывающее это, и ничто, похоже, не помогло.
Я сузил его до содержимого веб-просмотра, показав функцию getMeasuredWidth / Height, как это
Toast.makeText(getApplicationContext(), "width "+Integer.toString(mWebView.getMeasuredWidth())+" height "+Integer.toString(mWebView.getMeasuredHeight()), Toast.LENGTH_SHORT).show();
Вот соответствующий код веб-просмотра
rlp = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT );
relativeLayout.setLayoutParams(rlp);
//relativeLayout.setFillViewport(true);
// relativeLayout.setGravity(Gravity.FILL);
mWebView = new WebView(this);
mWebView.setScrollContainer(false);
mWebView.setInitialScale(100);
mWebView.setPadding(0, 0, 0, 0);
mWebView.setLayoutParams(rlp);
relativeLayout.addView(mWebView);
//enable remote debugging
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
mWebView.setWebContentsDebuggingEnabled(true);
}
WebSettings webSettings = mWebView.getSettings();
webSettings.setLoadWithOverviewMode(true);
webSettings.setUseWideViewPort(true);
webSettings.setJavaScriptEnabled(true);
webSettings.setBuiltInZoomControls(false);
webSettings.setSupportZoom(false);
webSettings.setAllowFileAccess(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
webSettings.setMediaPlaybackRequiresUserGesture(false);
}
webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
Для хорошей меры в части html у меня есть это, и это не имеет значения с или без него
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />
Я проверяю разрешение в html с помощью этого (сначала я заметил, что фотографии были размытыми)
document.body.innerHTML=window.innerWidth+"x"+window.innerHeight;
У меня нет ничего о веб-просмотре в стилях или манифесте
Как получить разрешение веб-просмотра, соответствующее разрешению экрана?