我有一个播放视频的容器Webview
。我已将xml文件中的容器大小固定为200dp。 Webview
通过加载html格式加载数据。视频播放流畅,但问题是视频高度不适合给定的大小,用户可以上下拖动视频。视频宽度根据设备大小进行调整。但是问题在于调整视频高度。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="200dp">
<WebView
android:id="@+id/myWeb"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alwaysDrawnWithCache="true"
/>
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:id="@+id/progressBar3"
/>
</RelativeLayout>
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
webView.getSettings().setSaveFormData(false);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.clearFormData();
webView.clearCache(true);
webView.clearHistory();
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
view.clearHistory();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
webView.setVisibility(View.VISIBLE);
progressBar.setVisibility(View.GONE);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
view.clearFormData();
view.clearHistory();
view.clearCache(true);
super.onPageStarted(view, url, favicon);
webView.setVisibility(View.VISIBLE);
progressBar.setVisibility(View.VISIBLE);
}
});
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setBuiltInZoomControls(false);
webView.getSettings().setDisplayZoomControls(false);
webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
String htmlData=getHtmlData(model.getVideo_url());
webView.loadData(htmlData, "text/html", null);
private String getHtmlData(String imageUrl) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(
"<!DOCTYPE html>\n" +
"<html>" +
"<meta charset=\"UTF-8\">\n" +
"<meta name='viewport' content='width=device-width, initial-scale=1'>" +
"<head>" +
" <title title='Index'></title>" +
"</head>" +
"<body bgcolor='#000'>");
stringBuilder.append(
"<script>\n" +
"function dismissProgress() {\n" +
"Android.dismissProgress(0);" +
"}\n" +
"</script>\n");
stringBuilder.append("<img id='imgsrc' onload='dismissProgress();' src=" + imageUrl + " alt='No Video Found' class='w3-image' class='w3-image' style='width:100%; height:300' align='center' height=300 />");
stringBuilder.append("</body>" +
"</html>");
return stringBuilder.toString();
}
我正在寻找的是如何在给定高度内适应视频内容,从而使用户无法垂直拖动视频?它应该在视图高度内调整视频。
答案 0 :(得分:0)
您给了 style ='width:100%;高度:300'。尝试将其替换为 height:100%,或尝试将高度降低至200px。 :)