我想要的是透明背景imageview上的完全不透明的文字。没有图像,webview文本是不透明的,并且不在背景imageview上的文本仍然是不透明的。只有透明图像上的文本部分变得透明,如我提供的屏幕截图所示。它非常有趣,而且我已经搜索过了,我无法找到解决方案。
以下是当前截图:
这是我的xml布局
<ScrollView
android:id="@+id/SCROLLER_ID"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:fillViewport="true">
<WebView
android:id="@+id/tvAnimalJoke"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text=""
android:textAppearance="?android:attr/textAppearanceLarge"
/>
<ImageView
android:id="@+id/ivAwesome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/awesome50jp"
/>
这是我在java中的webview
Random r = new Random();
number = r.nextInt(9851);
String randomjoke = getStreamTextByLine("9851.txt", number);
String numstr = Integer.toString(number);
String head = "<head><style>@font-face {font-family: 'verdana';src: url('file:///android_asset/annoyingkettle.ttf');}body {font-family: 'verdana';}</style></head>";
String htmlData = "<html>" + head + numstr + "<body>" + "<p align=\"justify\">"
+ randomjoke + "</p>" + "</body></html>";
Mywebview.loadDataWithBaseURL(null, htmlData, "text/html", "utf-8",
"about:blank");
答案 0 :(得分:0)
翻转布局中的ImageView和Webview。 FrameLayouts将他们的孩子自下而上添加,因此你的ImageView实际上位于包含文本的WebView之上,而不是在其下面。
另一个注意事项是ScrollView应该只有一个孩子。您应该将WebView和ImageView包装在FrameLayout中。但是,您不应该真的需要在ScrollView中放置WebView,因此您应该让所有内容与父级匹配,并让WebView处理文本的滚动。确保在不同的API级别上测试它,因为WebView的背景(关于不透明度)的行为在不同的API级别上是不同的。