当我在android 4.1上渲染大型Webview时,webview正确加载,但也弹出布局。这是一个例子:
正如你在左上角看到的那样,有一个白色的空间,不应该在那里。如果我用手指点击它,它就会消失......
我试图使& requestLayout这个contentView的顶级容器,但它仍然在发生。
正如我在标题中所说,这只发生在4.0.4设备中(我知道4.1可以。)
你们知道我还能尝试什么吗?
感谢。
修改
那个空白的矩形,在某种程度上超过了菜单栏。也许无效的菜单会解决它吗?
我尝试过:this.invalidateOptionsMenu();
但问题仍然存在。
EDIT2: 这是布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/containerTotaApp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:orientation="horizontal" >
<View
android:id="@+id/rightshadow"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/contentContainer"
android:background="@drawable/shadow_right" />
<RelativeLayout
android:id="@+id/bgImageSliderContainer"
android:layout_width="700dp"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="#000000" >
</RelativeLayout>
<ScrollView
android:id="@+id/scrollView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true" >
<LinearLayout
android:id="@+id/containerRightOptional"
android:layout_width="680dp"
android:layout_height="match_parent"
android:background="#ffffff"
android:orientation="vertical"
android:visibility="gone" >
</LinearLayout>
</ScrollView>
<RelativeLayout
android:id="@+id/navigationContainer"
android:layout_width="320dp"
android:layout_height="match_parent"
android:background="#393939" >
<LinearLayout
android:id="@+id/containerTopMenu"
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="@drawable/companybg"
android:gravity="center_vertical"
android:orientation="vertical" >
<TextView
android:id="@+id/textEntradaMenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="COMPANY"
android:textSize="32sp" />
</LinearLayout>
<ScrollView
android:id="@+id/scrollView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/containerTopMenu">
<LinearLayout
android:id="@+id/containerEntradesMenu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
</LinearLayout>
</ScrollView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/contentContainer"
android:layout_width="600dp"
android:layout_height="fill_parent"
android:layout_toRightOf="@+id/navigationContainer"
android:background="#ffffff">
<LinearLayout
android:id="@+id/titleContentContainer"
android:layout_width="fill_parent"
android:layout_height="70dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="center_vertical"
android:background="#EBEBEB">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:onClick="toggleMenu"
android:src="@drawable/vista2_cerca" />
<TextView
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:text="TextView"
android:textColor="#288BA2"
android:textSize="30sp" />
</LinearLayout>
<View
android:id="@+id/separadortop"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_below="@+id/titleContentContainer"
android:background="#cecece"
android:visibility="gone" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/separadortop"
android:visibility="gone" />
<View
android:id="@+id/separadortop2"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_below="@+id/spinner1"
android:background="#cecece" />
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/separadortop2"
android:background="#ffffff" >
<LinearLayout
android:id="@+id/variableContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
</RelativeLayout>
将网络视图动态添加到VariableContent
答案 0 :(得分:1)
当然,我无法准确指出问题的根源,您可以尝试禁用硬件加速:
web.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
您还可以尝试打开和关闭其他“有趣”选项:
webv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
(我知道缓存不应该与你的问题有关,但是关闭缓存修复了我的webview中最奇怪的故障,所以你可能想尝试自己)和
web.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
开发团队没有冒犯,但Android上的WebViews非常混乱,这里有几个链接可以支持这个声明:
也可能对您有用。
如果您找到了解决方案,请告诉我们
希望这有帮助