Android WebView背景色

时间:2012-06-06 17:35:24

标签: android webview background-color

我在我的布局中添加了一个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);

9 个答案:

答案 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)

答案 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"
   />