3

次のコードを使用して、コンテンツを画面の幅に合わせて Web ビューをスケーリングしています。

webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setBuiltInZoomControls(true);

これは機能しますが、コンテンツの下部に空のスペースができています。空のスペースのサイズ (高さ) は、実行しているズームの大きさに正比例します。したがって、小さいデバイスの場合、サイズは大きくなります。

ズームが有効になった後、スクロールバーのサイズが再計算されていないように感じます。この仮定は、画面をタップしてズームインおよびズームアウトすると、空のスペースがなくなるという事実によるものです。これは Android 2.3 では機能しますが、4.0 では機能しません。

ズーム後にスクロールバーを強制的に再計算する方法についての質問です。または、他の解決策があります。

ありがとう。

PSこれがxmlでwebviewを定義した方法です

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#FFFFFF" >

    <WebView
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/web_view"
                android:background="#AAFFFFFF"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />

</LinearLayout>
</ScrollView>
4

1 に答える 1

7

そもそも、スクロールビュー内のリニアレイアウト内に Web ビューがあるのはなぜですか? WebView は scrollView を継承し、独自のスクロールを実装していますが、他の scrollview は何のためにあるのでしょうか? 基本的に、スクローラー内にスクローラーがあります!!! "wrap_content"次に、WebView のandroid:layout_heightプロパティがあることがわかります。

于 2012-06-18T16:48:49.550 に答える