0

私は単純なアプリを持っています。これは、特定の画像を Web から取得し、WebView を介して下のボタンと上にタイトルを表示します。最初は、画像の下に常に余分な空白があるという問題がありましたが、現在は解決されています。

参考までに、WebView は次のように定義されています。

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/c"
    android:layout_above="@id/b"
    android:layout_below="@id/t"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:orientation="vertical" >

    <WebView 
        android:id="@+id/webview"
        android:scaleType="centerInside"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:adjustViewBounds="true" />

</RelativeLayout>

この相対的なレイアウトは別のものの中にありますが、省略しました。アクティビティには次のものがあります。

        WebView img = (WebView) findViewById(R.id.webview);
        img.getSettings().setBuiltInZoomControls(true);
        img.getSettings().setSupportZoom(false);
        img.loadUrl(image);

現在の問題に進みます。

私が引っ張って見ている画像のサイズは異なります。簡単にするために、X と Y の 2 つのサイズについて説明します。X < Y です。起動すると、サイズ X の画像が期待どおりに表示され、ボタンがタップされ、サイズ Y の画像が期待どおりに表示され、ボタンがタップされ、次の画像のサイズがX の場合も、追加の余白 (常に下) が表示され、サイズ Y まで塗りつぶされます。サイズ X の画像が多数ある場合はそのままになるか、ランダムに通常の状態に戻る可能性があります。問題を明確にしたことを願っています。

どうにかして境界を明示的にリセットする必要がありますか? 私はかなりの量のグーグルをしましたが、キャッチを見つけることができません。

前もって感謝します!

4

1 に答える 1

0

OK、問題は解決しました。多分それは将来誰かを助けるでしょう。上記のWebView呼び出しに、clearViewとclearCacheの2つの関数を追加しました。

    WebView img = (WebView) findViewById(R.id.webview);
    img.clearView();
    img.clearCache(true);
    img.getSettings().setBuiltInZoomControls(true);
    img.getSettings().setSupportZoom(false);
    img.loadUrl(image);

それがどちらかであるかどうかは役に立ちませんでした、2つの組み合わせだけが私のために働きました。私には少し残酷に感じますが、機能します。

于 2011-12-18T14:24:29.987 に答える