Android Webview:如何滚动整个活动布局

Mar*_*rXP 5 android android-webview

我有一个显示电子邮件内容的活动.有一个包含收件人和日期的标题,以及一个用于显示邮件内容的webview.

当邮件很长,没问题时,webview中有滚动条.

但我的问题是当收件人列表很长时,标题占据屏幕高度的50%,而webview只占屏幕高度的50%,而我只能在这50%内滚动.我想滚动整个活动布局(我希望webview获得它的全部高度,并且滚动条出现在整个活动上).

这是一张说明我问题的图片:

滚动问题

这是我的layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:orientation="vertical"
android:scrollbars="horizontal" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@layout/header_gradient" >
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#DEDEDE"
    android:orientation="vertical"
    android:padding="2dp" >

    <TextView
        android:id="@+id/label_mail_object"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="&lt;mail_object>"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/label_mail_from"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="&lt;from>"
        android:textColor="#0000FF" />

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:shrinkColumns="0"
        android:stretchColumns="1" >

        <!-- Send time -->

        <TableRow
            android:id="@+id/tablerow_sent_date"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/label_sent_date"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/label_mail_date"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="&lt;sent_date>" />
        </TableRow>

        <!-- To -->

        <TableRow
            android:id="@+id/tablerow_to"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/label_to"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/label_mail_to"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:maxWidth="@dimen/padding_large"
                android:text="&lt;to>" />

        </TableRow>

        <!-- Cc -->

        <TableRow
            android:id="@+id/tablerow_cc"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/label_cc"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/label_mail_cc"
                 android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:maxWidth="@dimen/padding_large"
                android:text="&lt;cc>" />
        </TableRow>

        <!-- To -->

        <TableRow
            android:id="@+id/tablerow_cci"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/label_cci"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/label_mail_cci"
                 android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:maxWidth="@dimen/padding_large"
                android:text="&lt;cci>" />
        </TableRow>

    </TableLayout>

</LinearLayout>

<View
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="#808080" />

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

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

ren*_*iro 3

为什么不直接将收件人的列表内容包装在 ScrollView 中,然后将此 ScrollView 的布局高度设置为您选择的大小。

这样,如果他们愿意,他们可以继续滚动浏览收件人的内容,并且仍然拥有专用于 Web 视图的大部分屏幕。

如果您希望通过单个滚动来显示整个视图,请执行相同的操作,但只需将所有内容包裹起来即可。

不懂就来打我吧