Частичный экран WebView с <видео> разрезать пополам

У меня есть приложение для планшета с разделенной раскладкой - список слева и панель подробностей справа. Правая панель - это WebView, и она содержит тег. Тот'Все работает нормально, за исключением того, что вся правая часть WebView обрезана и отображается белым цветом.

Почему он рендерит таким образом, и как я могу избежать его, не вставляя огромный хак?

Я свел его к простому тестовому проекту, который ямы опубликовалина github.

ВотСкриншот:http://d.pr/i/dfEh.

Серая область слева - это то место, к которому относится представление списка. Я поменял его на пустойFrameLayout для простоты.Отрезанная часть вдоль правой стороны WebViewЯВЛЯЕТСЯ той же ширины, что и вид списка. Это'Также стоит отметить, что любой контент ниже видео также обрезается - белая область расширяет всю высоту WebView.

Некоторые вещи ямы пробовали:

заменить представление списка чем-то другимвключить и отключитьWebSettings: JavaScript, использовать широкий видовой экран, загрузить с режимом обзораустановитьWebViewClient иWebChromeClientвключить и выключить аппаратное ускорениеразличные настройки в,View.setScrollBarStyleWebView.setVerticalScrollBarOverlayи тому подобноеподправитьатрибуты и стили высоты / шириныразличные форматы видео, включая mp4 с h264 и aac, m3u8 и поток rtsp на youtubeразличные устройства, включая Fire HD, Nexus 7, Galaxy 10.1 и XoomAndroid версии 3.1, 3.2, 4.0, 4.1

Текущее решение:

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

Отрывки:

Как я уже упоминал, на github размещен (не) рабочий тестовый стенд, но вот важные моменты:

HTML загружается в WebView (это все):


Title

    
        
    


Основной файл макета:



    

    
    


В :onCreateView

    View rootView = inflater.inflate(R.layout.fragment_detail, container, false);
    webView = (WebView) rootView.findViewById(R.id.webview);
    webView.setWebChromeClient(new WebChromeClient());
    webView.loadUrl("file:///android_asset/test.html");
    return rootView;

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

Ответы на вопрос(3)

Ваш ответ на вопрос