Android webview没有填充设备屏幕高度

时间:2014-07-24 05:32:59

标签: android webview

我使用webview加载html数据。

我想在底部放置两个按钮以实现某些功能。

我已将webh和底部布局放在框架布局中。

Web视图仅在我给它一些特定高度(例如500dp)时显示html数据。

底部布局也与webview一起滚动。

请帮助我如何做到这一点。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="10dp" >

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/newsHeading"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:padding="5dp"
            android:text="Heading"
            android:textColor="#000000"
            android:textSize="18sp" />

        <WebView
            android:id="@+id/webviewNews"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="30dp" />
    </LinearLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="@color/black"
        android:padding="10dp" >

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/back1"
            android:padding="20dp" />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:background="@drawable/share11"
            android:padding="20dp" />
    </RelativeLayout>
 </FrameLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

请尝试这种方式,希望这有助于您解决问题。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <WebView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp">
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Button1"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Button2"/>
        </LinearLayout>
</LinearLayout>

答案 1 :(得分:0)

我遇到了同样的问题,我通过RelativeLayout更改LinearLayout并将所有“父对象”设置为WebView来修复它,但这会填满屏幕。

对于您的布局,请尝试将按钮的LinearLayout与父级的底部对齐,然后通过固定到它的layout_above替换WebView的alignParentBottom。我测试过它并且工作正常。

这是代码,试试吧:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_above="@+id/linlyt_buttons"/>

    <LinearLayout
        android:id="@+id/linlyt_buttons"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:layout_alignParentBottom="true">

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Button1"/>

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Button2"/>

    </LinearLayout>

    <RelativeLayout
        android:id="@+id/rellyt_imagebuttons"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_gravity="bottom"
        android:background="@color/black"
        android:padding="10dp">

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@android:drawable/ic_menu_close_clear_cancel"
            android:padding="20dp"
            android:contentDescription="Back/Cancel"/>

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:background="@android:drawable/ic_menu_share"
            android:padding="20dp"
            android:contentDescription="Share"/>

    </RelativeLayout>

</RelativeLayout>