Android WebView背景颜色

nbnkbykc  于 2023-01-28  发布在  Android
关注(0)|答案(9)|浏览(321)

我正在向我的布局添加一个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);
j91ykkif

j91ykkif1#

尝试按如下方式设置背景:

WebView synopsis;
synopsis=(WebView)findViewById(R.id.synopsis);
synopsis.setBackgroundColor(Color.TRANSPARENT);
z4iuyo4d

z4iuyo4d2#

尝试下面的代码希望使用充分为您:-

webview.setBackgroundColor(Color.parseColor("#919191"));

灰色代码:#919191

cvxl0en2

cvxl0en23#

您必须将其放入XML代码中:

android:background="@android:color/transparent"

对于您的Web视图,例如:

<WebView
    android:id="@+id/MyWebView"
    android:layout_width="fill_parent"
    android:layout_height="62dp"
    android:background="@android:color/transparent"
    android:scrollbars="none" />

在这之后你必须在loadUrl之前写Java代码:

yourWebView.setBackgroundColor(Color.TRANSPARENT);
xa9qqrwz

xa9qqrwz4#

这是唯一的方法,我可以让它工作,而不是加载一个初始的白色背景第一,如果我有黑暗模式:

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"
   />
a1o7rhls

a1o7rhls5#

我所做的就是

synopsis.setBackgroundColor(0);

希望能有所帮助!

ntjbwcob

ntjbwcob6#

你在你的网页视图中加载了css吗?
比如:

synopsis.loadData(textTileStyling, "text/html", "UTF-8");

synopsis.loadDataWithBaseURL("", textTileStyling, "text/html", "UTF-8", "");
qyswt5oh

qyswt5oh8#

你的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

kknvjkwl

kknvjkwl9#

你也可以这么做-

webview.setBackgroundColor(getContext().getResources().getColor(android.R.color.transparent));

这里的android.R.color.transparent透明色,属于android的fragmesh。

相关问题