WebView填充整个父级

时间:2016-11-23 07:37:38

标签: android webview

我想使用DialogFragmentWebView中加载一些内容。以下是我的xml布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/webview"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:layout_marginTop="20dp"
        android:orientation="horizontal"
        android:weightSum="2">

        <Button
            android:id="@+id/decline"
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:layout_marginEnd="10dp"
            android:layout_marginRight="10dp"
            android:layout_weight="1"
            android:background="@android:color/transparent"
            android:letterSpacing="0.1"
            android:text="DECLINE"
            android:textAllCaps="true"
            android:textAppearance="@style/TextAppearance.AppCompat.Medium"
            android:textColor="@color/app_theme"
            android:textStyle="bold" />

        <Button
            android:id="@+id/accept"
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:layout_weight="1"
            android:background="@drawable/proceed_button"
            android:enabled="false"
            android:letterSpacing="0.1"
            android:text="ACCEPT"
            android:textAllCaps="true"
            android:textAppearance="@style/TextAppearance.AppCompat.Medium"
            android:textColor="#fff"
            android:textStyle="bold" />

    </LinearLayout>
</RelativeLayout>

问题在于,webview的高度设置为wrap_content,按钮位于相对布局容器中的webview下方,按钮仅在内容实际加载之前可见。之后,他们完全被隐藏了。

如何在对话框中同时显示按钮和webview,而不会阻碍另一个?

1 个答案:

答案 0 :(得分:1)

在这里,试试这个布局。

LinearLayout(包含按钮)对齐到底部,并在该布局上方设置WebView

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <WebView
        android:id="@+id/webview"

        android:layout_above="@+id/myLayout" 

        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <LinearLayout
        android:id="@+id/myLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/webview"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"

        android:layout_alignParentBottom="true" 

        android:layout_marginTop="20dp"
        android:orientation="horizontal"
        android:weightSum="2">

        <Button
            android:id="@+id/decline"
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:layout_marginEnd="10dp"
            android:layout_marginRight="10dp"
            android:layout_weight="1"
            android:background="@android:color/transparent"
            android:letterSpacing="0.1"
            android:text="DECLINE"
            android:textAllCaps="true"
            android:textAppearance="@style/TextAppearance.AppCompat.Medium"
            android:textColor="@color/app_theme"
            android:textStyle="bold" />

        <Button
            android:id="@+id/accept"
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:layout_weight="1"
            android:background="@drawable/proceed_button"
            android:enabled="false"
            android:letterSpacing="0.1"
            android:text="ACCEPT"
            android:textAllCaps="true"
            android:textAppearance="@style/TextAppearance.AppCompat.Medium"
            android:textColor="#fff"
            android:textStyle="bold" />

    </LinearLayout>
</RelativeLayout>