我的活动由一个 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>