0

我的活动由一个 WebView 和几个按钮组成。我正在尝试在活动底部显示按钮,但如果内容高于屏幕,请确保用户必须滚动浏览内容。作为我的解决方案的一部分,我已将 WebView 的 layout_height 属性设置为 wrap_content。

问题是,即使我从 onCreate() 中调用 WebView.loadData(),WebView 也不会立即自行调整大小。在网页内容高于屏幕的情况下,按钮最初出现在活动的底部,然后在网页内容出现时移出屏幕。我想在调整 Web 内容大小之前阻止按钮出现,这样当它们出现时,它们总是出现在正确的位置。为此,我尝试使用 onPageFinished (它被调用得太早)和 onPictureListener (它根本没有被调用)。

如何确定 WebView 何时准备好布局?

这是我的 XML:

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

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

        <android.webkit.WebView
            android:id="@+id/wv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <LinearLayout
            android:id="@+id/btns"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_gravity="center_horizontal"
            android:gravity="bottom" >

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="onClickButton1" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:onClick="onClickButton2" />

        </LinearLayout>
    </LinearLayout>
</ScrollView>
4

0 回答 0