I am trying to play embeded youtube videos in webview. My problem is when I rotate screen and resize webview height, iframe is not changing its height.
String embedSrc = "https://www.youtube.com/embed/8SeRU_ZPDkE";
String iframe = "<html><body style=\"margin: 0; padding: 0; background: #000;\"><iframe width=\"100%\" height=\" 100% \" src=\"" + embedSrc + "frameborder=\"0\" allowfullscreen style=\"background: #000;\"></iframe></body></html>";
webView.loadData(iframe, "text/html", "utf-8");
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setBuiltInZoomControls(false);
settings.setDomStorageEnabled(true);
String userAgent = settings.getUserAgentString();
if (userAgent != null) {
userAgent = userAgent.replace("Android", "");
settings.setUserAgentString(userAgent);
}
//code to update webview height
webView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, newHeight));
//layout
<LinearLayout
android:id="@+id/root_view"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
android:orientation="vertical"
>
<WebView
android:id="@+id/webview"
android:layout_width="wrap_content"
android:layout_height="250dp"
android:scrollbars="none"
/>
</LinearLayout>
I already tried this
webview.getSettings().setUseWideViewPort(true);
webview.getSettings().setLoadWithOverviewMode(true);
But this code makes youtube Playback controls very small.
Solved this problem with iframe in webview by using this Responsive Iframe CSS tip like this: