我在我的布局中添加了一个WebView来显示对齐的文本。我想将WebView的背景设置为透明,使其看起来像textView。这是我做的:
WebView synopsis;
synopsis=(WebView)findViewById(R.id.synopsis);
synopsis.setBackgroundColor(0x00000000);
它适用于模拟器,但是当我在我的设备上运行该应用程序时它不起作用:我得到的是白色背景。
String textTitleStyling = "<head><style>* {margin:0;padding:0;font-size:20; text-align:justify; color:#FFFFFF;}</style></head>";
String titleWithStyle = textTitleStyling + "<body><h1>" + movie.synopsis + "</h1></body>";
synopsis.loadData(textTitleStyling + movie.synopsis, "text/html", "utf-8");
synopsis = (WebView) findViewById(R.id.synopsis);
synopsis.getSettings();
synopsis.setBackgroundColor(0);
答案 0 :(得分:72)
尝试使用synopsis.getSettings();
WebView synopsis;
synopsis=(WebView)findViewById(R.id.synopsis);
synopsis.getSettings();
synopsis.setBackgroundColor(Color.TRANSPARENT);
答案 1 :(得分:23)
尝试下面的代码希望对你充分利用: -
webview.setBackgroundColor(Color.parseColor("#919191"));
格雷码:#919191
答案 2 :(得分:13)
您必须将其放在XML代码中:
android:background="@android:color/transparent"
用于您的网络视图,例如:
<WebView
android:id="@+id/MyWebView"
android:layout_width="fill_parent"
android:layout_height="62dp"
android:background="@android:color/transparent"
android:scrollbars="none" />
之后你必须转到Java代码并在loadUrl之前写这个:
yourWebView.setBackgroundColor(Color.TRANSPARENT);
答案 3 :(得分:2)
我的工作是
synopsis.setBackgroundColor(0);
希望它有所帮助!
答案 4 :(得分:2)
您是否在网络视图中加载了CSS?
类似的东西:
synopsis.loadData(textTileStyling, "text/html", "UTF-8");
或
synopsis.loadDataWithBaseURL("", textTileStyling, "text/html", "UTF-8", "");
答案 5 :(得分:1)
您可以在此处找到一些提示:http://code.google.com/p/android/issues/detail?id=14749以及此处: Android WebView style background-color:transparent ignored on android 2.2
答案 6 :(得分:1)
您的HTML代码将所有内容设置为白色
<强>替换强>
String textTitleStyling = "<head><style>* {margin:0;padding:0;font-size:20; " + "text-align:justify; color:#FFFFFF;}</style></head>"; String titleWithStyle = textTitleStyling + "<body><h1>" + movie.synopsis + "</h1></body>"; synopsis.loadData(textTitleStyling + movie.synopsis, "text/html", "utf-8"); synopsis = (WebView) findViewById(R.id.synopsis); synopsis.getSettings(); synopsis.setBackgroundColor(0);
。通过强>
这会从标题样式中排除颜色,并仅将样式的其余部分应用于body元素
String textTitleStyling = "<head><style>body{margin:0;padding:0;font-size:20; " + "text-align:justify;}</style></head>"; String titleWithStyle = textTitleStyling + "<body><h1>" + movie.synopsis + "</h1></body>"; synopsis.loadData(titleWithStyle, "text/html", "utf-8"); synopsis = (WebView) findViewById(R.id.synopsis); synopsis.getSettings(); synopsis.setBackgroundColor(0);
编辑:修复了HTML
答案 7 :(得分:0)
您也可以做到-
webview.setBackgroundColor(getContext().getResources().getColor(android.R.color.transparent));
这里android.R.color.transparent
是透明色,属于android编织软件。
答案 8 :(得分:0)
如果我打开了暗模式,这是我可以让它工作而不先加载初始白色背景的唯一方法:
webView.setBackgroundColor(Color.TRANSPARENT);
webView.setVisibility(View.VISIBLE);
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="invisible"
/>