Отзывчивый веб-сайт показывает на веб-представление из мобильной ширины (не реагирует) другим способом в Chrome выглядит хорошо

Я использую webview для загрузки отзывчивого веб-сайта, но он показывает ширину вне мобильного размера.

Я открываю ссылку в мобильном браузере Chrome и хорошо выглядит...

Я хочу сказать, что ширина не подходит для размера экрана мобильного телефона; он отображается не по ширине.

Я также использую эти... для тега <viewport> для управления его представлением.

    WebSettings settings = webview.getSettings();
    settings.setJavaScriptEnabled(true);

    settings.setUseWideViewPort(true);
    settings.setLoadWithOverviewMode(true); 

Также я использую setInitialScale для рендеринга webview правильно.

    webview.setInitialScale((int) 1.0);

но я нахожу загрузку сайта не реагирующей, поскольку в соответствии с размером... он показывает, что ширина не соответствует размеру экрана... который поставляется со списком

Приложение отлично работает в Lollipop, Marshmallow и т.д. Но не работает в Jellybean и т.д. Но Link хорошо работает с последним хромом во всех устройствах, но не работает в webview.

Я также установил это....

 <meta name="viewport" content="width=device-width, initial-scale=1">

Скриншот

введите описание изображения здесь

Ответ 1

Попробуйте следующее:

WebView browser = (WebView) findViewById(R.id.webview);
browser.getSettings().setLoadWithOverviewMode(true);
browser.getSettings().setUseWideViewPort(true);

Ответ 2

web.setInitialScale(1);
    web.getSettings().setLoadWithOverviewMode(true);
    web.getSettings().setUseWideViewPort(true);

попробуйте этот код, возможно, решит вашу проблему.

Ответ 3

попробуйте это, надеюсь, это поможет вам

    String link = "";// global variable
    Resources res;// global variable
         //in onCreate
    res = ctx.getResources();
    link = url;

    faqwebview.getSettings().setJavaScriptEnabled(true);
    faqwebview.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);
            if (!loading) {
                loading=true;
                Utils.ShowMyprogress(this, "Fetching data...");
            }
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            // TODO Auto-generated method stub
            super.onPageFinished(view, url);
            Utils.DismissMyprogress();
            loading=false;
        }

        @Override
        public void onReceivedError(WebView view, int errorCode,
                String description, String failingUrl) {
            // TODO Auto-generated method stub
            super.onReceivedError(view, errorCode, description, failingUrl);
            Utils.DismissMyprogress();
            Utils.showToast(this, "error in load page==" + description);
        }
    });



    faqwebview.loadUrl((link == null || link.isEmpty()) ? res
            .getString(R.string.app_baseurl) : link);

Ответ 4

Может быть, вы можете достичь с помощью метода onPageFinished()

@Override
public void onPageFinished(android.webkit.WebView view, String url)
{
    super.onPageFinished(view, url);

    WindowManager manager = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);

    DisplayMetrics metrics = new DisplayMetrics();
    manager.getDefaultDisplay().getMetrics(metrics);

    metrics.widthPixels /= metrics.density;

    wb.loadUrl("javascript:document.body.style.zoom = "+String.valueOf(scale)+";");

OR//
    wb.loadUrl("javascript:var scale = " + metrics.widthPixels + " / document.body.scrollWidth; document.body.style.zoom = scale;");
}

все прошло отлично. Надеюсь, это поможет...

Ответ 5

- ваш веб-макет layout_width = "match_parent"?

вы также можете использовать: `

setting.setBuiltInZoomControls(true);
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient());

перед:

settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);

Ответ 6

webView = (WebView) findViewById(R.id.noticiasWebView);
webView.setInitialScale(1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);
webView.loadUrl("http://www.resource.com.br/");