WebView未在其容器中对齐顶部或底部

时间:2013-07-12 10:13:34

标签: android webview alignment

我有一个奇怪的问题。

我有一个ImageView,在这个ImageView上是一个WebView。此WebView与ImageView一样大,其背景是透明的,因此WebView只显示文本。

在我的Galaxy Nexus上,这非常有效。 但是在我的Sony Xperia上,WebView没有对齐图像的顶部和底部。左右对齐是O.K。

但为什么会这样?

这是我的xml代码:

 <ImageView
    android:id="@+id/ImageView02"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:src="@drawable/product_pic_background" />

<RelativeLayout
    android:id="@+id/contain"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignBottom="@+id/ImageView02"
    android:layout_alignLeft="@+id/ImageView02"
    android:layout_alignRight="@+id/ImageView02"
    android:layout_alignTop="@+id/ImageView02"
    android:orientation="vertical"
    android:paddingBottom="15dp"
    android:paddingLeft="15dp"
    android:paddingRight="15dp"
    android:paddingTop="50dp" >

    <WebView
        android:id="@+id/produkttext"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true"
        android:layout_alignParentStart="true"           
        android:longClickable="false"
        android:scrollbars="vertical" />
</RelativeLayout>

Xperia arc . how it shouldn't be

Galaxy Nexus. how it should be

1.Xperia arc。怎么不应该   2.Galaxy Nexus。它应该如何

1 个答案:

答案 0 :(得分:2)

好的,一旦我们有了要求,就可以解决这个问题:

<RelativeLayout
    android:id="@+id/contain"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="15dip"
    android:paddingLeft="15dip"
    android:paddingRight="15dip"
    android:paddingTop="50dip" >

    <WebView
        android:id="@+id/produkttext"
        android:longClickable="false"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true"
        android:background="@+drawable/product_pic_background"
        android:scrollbars="vertical" />
</RelativeLayout>

然后在代码中:

WebView web = (WebView) findViewById(R.id.produkttext);
web.setBackgroundColor(0);
BitmapDrawable bd=(BitmapDrawable) this.getResources().getDrawable(R.drawable.product_pic_background);
RelativeLayout rl = (RelativeLayout) findViewById(R.id.yourId);
rl.getLayoutParams().height = bd.getBitmap().getHeight();
rl.getLayoutParams().width = bd.getBitmap().getWidth();

这将使WebView透明,以便查看背景图像,以及按宽度和高度匹配父布局。 然后,RelativeLayout将设置图片的drawable尺寸。 我没有设法测试它(我现在不能),但如果这不起作用,我将删除此评论(并可能会提交harakiri: - ))。