Xamarin Android-如何摆脱WebView周围无法解释的边距/填充?

时间:2019-04-17 03:22:57

标签: xamarin.android android-webview android-linearlayout margin padding

我有一个LinearLayout,其中包含一个WebView。此WebView加载静态HTML文件。我希望WebView的大小(宽度和高度)与LinearLayout的大小匹配,但是由于某些无法解释的原因,这种神秘的边距或填充会阻止WebView填充LinearLayout。为了说明这一点,我给LinearLayout设置了一个黑色边框,并为WebView加载的HTML文件的内容设置了一个红色边框:

Visual of issue using borders

以下是这些元素的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文件,则可以清楚地看到这一点: enter image description here

我什至试图通过在axml级别和HTML文件级别上设置负边距来蛮力破解它,但是无论如何尝试,我都无法获得那种神秘的余量,所以我终于到了这里。

1 个答案:

答案 0 :(得分:2)

WebView一种网络浏览器,并且在正文中具有一些默认边距(与其他网络浏览器一样)。您可以使用CSS删除该边距,如下所示:

<body style="margin:0;">

更多信息:Remove unwanted White Space in WebView Android