我正在尝试在scrollview中添加webview,它可以显示具有透明背景的静态HTML文本。这是代码
WebView descr = (WebView) view.findViewById(R.id.description);
descr.setBackgroundColor(Color.TRANSPARENT);
descr.loadData(desc, "text/html", "utf-8");
descr.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
如果我没有设置setLayerType值,我可以正确看到文本。但是,当滚动完成时,它会增加闪烁效果。如果添加了setLayerType行,则某些页面的文本将消失。这是我的布局的样子
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/title" >
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:descendantFocusability="blocksDescendants">
<ImageView
android:id="@+id/icon"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:contentDescription="@id/title"
android:paddingLeft="10dp"
android:paddingRight="10dp"
/>
<WebView
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:textAlignment="gravity"
android:textSize="14sp"
android:background="@null"
android:focusable="false" />
</LinearLayout>
</ScrollView>
当我在我的手机上安装.apk文件而不是在模拟器上时,会出现此问题。我使用的是Android 4.1.2版。有人能告诉我需要做什么,以便显示文本而不会产生闪烁效果和透明背景吗?
答案 0 :(得分:2)
请将#android:layerType =“software”#添加到WebView和所有容器中,直到ScrollView。在Android4.4上,它对我有用。
<ScrollView
android:layerType="software"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/title" >
<LinearLayout
android:layerType="software"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:descendantFocusability="blocksDescendants">
<ImageView
android:id="@+id/icon"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:contentDescription="@id/title"
android:paddingLeft="10dp"
android:paddingRight="10dp"
/>
<WebView
android:layerType="software"
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:textAlignment="gravity"
android:textSize="14sp"
android:background="@null"
android:focusable="false" />
</LinearLayout>
</ScrollView>
答案 1 :(得分:1)
我遇到同样的问题,我解决了;在scrollview和webview setlayertype软件中的webview,所以你需要setlayertype软件用于scrollview;如下所示:
{{$city->city}}
我希望这可以帮到你。
答案 2 :(得分:0)
我有同样的问题,但是相反。单击文本输入框并向上滚动软键盘(在我的Sony手机上)时,Web视图中的所有内容消失了。
这些是我使用的对Webview有直接影响的所有设置:
android:windowSoftInputMode="adjustPan"
android:fitsSystemWindows="true"
android:layerType="software"