我有一个奇怪的问题。
我有一个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>
1.Xperia arc。怎么不应该 2.Galaxy Nexus。它应该如何
答案 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: - ))。