我有一个LinearLayout,其中包含一个WebView。此WebView加载静态HTML文件。我希望WebView的大小(宽度和高度)与LinearLayout的大小相匹配,但由于某些莫名其妙的原因,有一个神秘的边缘或填充阻止WebView填充LinearLayout。为了说明,我给了LinearLayout一个黑色边框,并且WebView加载的HTML文件的内容是一个红色边框:
这是这些元素的axml:
<LinearLayout
android:id="@+id/alertViewProductReplacement_ReplacementProductLinearLayout"
android:layout_width="100dp"
android:layout_height="225dp"
android:layout_margin="0dp"
android:padding="0dp"
android:fillViewport="true"
android:layout_toRightOf="@id/alertViewProductReplacement_arrow"
android:background="@drawable/dpBorder"
android:orientation="vertical">
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/replacementProductsWebView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:layout_margin="0dp"
android:padding="0dp"
android:background="@null"/>
</LinearLayout>
我在上面指出的一些可能多余的事情是将两者的边距和填充设置为0,将WebView的高度和宽度设置为“fill_parent”,并设置fillViewport =“true”。我还试图以编程方式强制0余量和填充,以及将LinearLayout更改为RelativeLayout。这些东西都没有任何影响,它们之间的空间总是看起来一样。
我还要指出,HTML内容本身在红色边框之外没有边距或填充,如果我直接在浏览器中加载HTML文件,就可以清楚地看到这一点:
我甚至试图通过在axml级别和HTML文件级别设置负边距来暴力破解它,但无论我尝试什么,我都无法让这个神秘的边缘让步,我终于转向了这里。
WebView是一种网络浏览器,在身体中有一些默认的边距(像其他网络浏览器一样)。您可以使用CSS
删除该边距,如下所示:
<body style="margin:0;">