Я получаю HTML-код в формате ускоренных мобильных страниц (APM) из веб-вызова. Затем я пытаюсь отобразить этот AMP в WebView. Итак, я настраиваю свой WebView следующим образом:
webView = (WebView) findViewById(R.id.web_view);
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setJavaScriptEnabled(true);
String content = article.getContentAmp();
webView.loadData(content, "text/html; charset=utf-8", null);
Он отображает содержимое без ошибок, но не правильно. Он игнорирует, например, элементы amp-youtube и встроенные твиты.
Есть ли что-то еще, что мне нужно сделать с WebView или WebChromeClient для правильного отображения AMP?
РЕДАКТИРОВАТЬ:
Ответ ниже работает. Но в моем конкретном случае я использовал WebView внутри NestedScrollView. Что отлично работало в Android 5.0+, но ниже не загружались элементы amp-.
Удаление WebView из NestedScrollView решило проблему. Его родитель теперь является относительным макетом.
Поэтому, если у вас возникла та же проблема, попробуйте упростить макет, чтобы WebView не был глубоко вложенным. И уж точно не помещайте свой WebView внутрь NestedScrollView.