Я пытаюсь создать приложение, которое отображает WebView со встроенным iframe, в котором будет показано видео Vimeo. Когда я загружаю WebView, iframe - это просто черный ящик, который не покажет видео или ничего не сделает, когда я нажму на него.Показать Vimeo в WebView iFrame на Android
mWebView = (WebView)v.findViewById(R.id.webView);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
mWebView.getSettings().setSaveFormData(true);
mWebView.getSettings().setJavaScriptEnabled(true);
String data = new String("<html xmlns='http://www.w3.org/1999/xhtml' xmlns:fb='http://ogp.me/ns/fb#'><head>" +
"<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />" +
"<title>Northern African and Middle Eastern Peoples </title>" +
"<link rel='stylesheet' href='./style.css' type='text/css' media='screen' /></head><body>" +
"<div id='content'><div class='post'>" +
"<iframe style='margin-top:10px; margin-bottom:10px;' src=http://player.vimeo.com/video/" + mRssVideoItem.getVimeoId() + "?title=0&byline=0&portrait=0' width='880' height='497' frameborder='0'>" +
"</iframe><h1>" + mRssVideoItem.getTitle() + "</h1><div class='timestamp'>" + formattedDate + "</div>" + mRssVideoItem.getDescription() + "</div></div></body></html>");
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
mWebView.loadDataWithBaseURL("file:///android_asset/.", data, "text/html", "UTF-8", null);
Я искал несколько дней и не могу найти ничего, что поможет.
Обновление: Я до сих пор борюсь с этим. У меня есть несколько разных вещей, которые я не совсем понимаю. Сначала я подумал, что у меня есть Vimeo Videos, используя приведенное ниже предложение. Тем не менее, я вернулся к проекту сегодня, и я просто вижу черный ящик. Другой проблемой является «масштабирование» представления. Иногда, когда я загружаю видео, на экране появляется весь вид. В других случаях это похоже на то, что изображение масштабируется, и слова намного больше, чем я думал. Кажется, что это также изменилось, когда я изменяю вращение устройства. Ниже приведен HTML, который я использую с loadDataWithBaseURL.
http://www.w3.org/1999/xhtml «XMLNS: FB =» http://ogp.me/ns/fb# «> Северная Африки и Ближнего Востока народов
Никто, кроме Бога
14 мая, 2013A молодой сирийский отец разделяет историю его спасение семьи от сирийской гражданской войны и их борьба за поиски новой жизни в Иордании.Предложение выше, кажется, работает до тех пор, пока я не изменить WebSettings LayoutAlgorithm к NARROW_COLUMNS. Кто-нибудь знает, почему это не позволит показывать видео? Второй вопрос - иногда, когда «страница» загружает все, выглядит великолепно, а в других случаях контент действительно большой, и изображение уходит со стороны экрана. Кажется, что это может иметь какое-то отношение к вращению, масштабированию или инициализации, поскольку, если я повернусь к пейзажу и вернусь к портрету, изображение, похоже, исправит себя. См. Изображения ниже.
Спасибо за предложение. Кажется, я не мог получить код, на который вы ссылались, чтобы работать. Он будет отображать начальную страницу, но тогда она не будет воспроизводить видео. – James
Я получил его на работу, но мне пришлось использовать Activity (как в примере) вместо фрагмента. Кто-нибудь использовал это или что-то подобное с Фрагментом? – James
@James: Я пытаюсь показать видео vimeo во фрагменте. У вас есть код? Я использую webview (при использовании html5webview он показывает ошибку), иногда видео работает ... несколько раз не .. – zacharia