diff --git a/packages/webview_flutter/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/FlutterWebView.java b/packages/webview_flutter/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/FlutterWebView.java index a3b681f27980..e45e711d5dae 100644 --- a/packages/webview_flutter/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/FlutterWebView.java +++ b/packages/webview_flutter/webview_flutter/android/src/main/java/io/flutter/plugins/webviewflutter/FlutterWebView.java @@ -6,6 +6,7 @@ import android.annotation.TargetApi; import android.content.Context; +import android.graphics.Color; import android.hardware.display.DisplayManager; import android.os.Build; import android.os.Handler; @@ -435,6 +436,10 @@ private void applySettings(Map settings) { case "allowsInlineMediaPlayback": // no-op inline media playback is always allowed on Android. break; + case "opaque": + boolean opaque = (boolean) settings.get(key); + webView.setBackgroundColor(opaque ? Color.WHITE : Color.TRANSPARENT); + break; default: throw new IllegalArgumentException("Unknown WebView setting: " + key); } diff --git a/packages/webview_flutter/webview_flutter/example/lib/main.dart b/packages/webview_flutter/webview_flutter/example/lib/main.dart index 88256cc66287..bbfb297ea0b4 100644 --- a/packages/webview_flutter/webview_flutter/example/lib/main.dart +++ b/packages/webview_flutter/webview_flutter/example/lib/main.dart @@ -17,7 +17,7 @@ const String kNavigationExamplePage = ''' Navigation Delegate Example

-The navigation delegate is set to block navigation to the youtube website. +The navigation delegate is set to block navigation to the youtube website, and as the webview background is transparent, you can see scaffold background.