WebView: некорректное отображение страницы

219
21 сентября 2017, 14:45

Решил поиграться с webView, возникли вопросы по отображениям некоторых сайтов.

В мобильном Chrome страница нормально отображается, а в приложении через webView страница имеет несоразмерные размеры кнопок.

В чём может быть проблема? Может кто-нибудь сталкивался?

Как отображается в Chrome

Как отображается в webView

Сам код для webView

@SuppressLint("SetJavaScriptEnabled")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_wev_view, container, false);
    webView = (WebView) view.findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);

    StringBuilder builder = new StringBuilder();
    builder.append(address);
    try {
        Method m = WebSettings.class.getMethod("setMixedContentMode", int.class);
        if ( m == null ) {
            Log.e("WebSettings", "Error getting setMixedContentMode method");
        }
        else {
            m.invoke(webView.getSettings(), 2); // 2 = MIXED_CONTENT_COMPATIBILITY_MODE
            Log.i("WebSettings", "Successfully set MIXED_CONTENT_COMPATIBILITY_MODE");
        }
    }
    catch (Exception ex) {
        Log.e("WebSettings", "Error calling setMixedContentMode: " + ex.getMessage(), ex);
    }
    webView.setWebViewClient(new MyWebViewClient(activity, WebViewFragment.this));
    webView.loadUrl(builder.toString());
    address2 = builder.toString();
    return view;
}

Код WebViewClient

public class MyWebViewClient extends WebViewClient{
AppCompatActivity activity;
RefreshWebView listener;
public MyWebViewClient(AppCompatActivity activity, RefreshWebView listener){
    this.activity = activity;
    this.listener = listener;
}
public MyWebViewClient(AppCompatActivity activity){
    this.activity = activity;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
    view.loadUrl(url);
    return true;
}
}
READ ALSO
Проблема при установке Jira на Linux server

Проблема при установке Jira на Linux server

При запуске инсталятора выдает ошибку:

301
Оповещения в определённое время Java

Оповещения в определённое время Java

Всем добрый день, хочу сделать так, чтобы действие происходило в определённый момент времени, допустим каждый год 0101 числа звучала какая-нибудь...

320
Form login с дополнительным полем

Form login с дополнительным полем

Мне нужно добавить в форму авторизации третье поле, но не соображу, как научить Spring Security с ним работатьУ меня пользователи лежат в базе, но кроме...

280