2

みなさん、こんにちは。

WebViewを使用してGIFアニメーションを表示するのは、かなり簡単でシンプルなので簡単だと思いました。

現在表示しているGIFのサイズは800x800pxです。私が欲しいのは、このGIFを利用可能な画面に合わせて、おそらくそのような親と一致させて、画像をスクロールしたりズームイン/ズームアウトしたりする必要がないようにすることです。利用可能なすべての画面に自動的に収まります。

実験に使用したデバイスは、画面サイズが800x480pxのGT-I9100 / SamsungGalaxySIIです。

これが私の主な活動からのコードの抜粋です:

HToad view = new HToad(this, "file:///android_asset/hypnotoad.gif");
view.setInitialScale(30);
view.getSettings().setUseWideViewPort(true);
setContentView(view);

これはHToadクラスです。

import android.content.Context;
import android.webkit.WebView;

public class HToad extends WebView {

    public HToad(Context context, String path) {
        super(context);
        // TODO Auto-generated constructor stub
        loadUrl(path);
    }

}

LayoutParamsやIntialSizeなどのさまざまな設定を使用してみましたが、どれも目的を達成するのに役立ちませんでした。

XMLでWebViewを定義するのではなく、WebViewにJAVAを使用しています。

前もって感謝します。

4

1 に答える 1

1

loadUrl の代わりに loadData メソッドを使用して gif をロードし、次のような css スタイルを追加してみてください。

<style type='text/css'>
    img {max-width: 100%;height:initial;}
</style>

そして最後に、次のようなものを取得する必要があります。

setBackgroundColor(Color.TRANSPARENT);
loadData("<style type='text/css'> img {max-width: 100%;height:initial;}</style>" +
         "<img align='middle' src='file:///android_asset/hypnotoad.gif'/>", "text/html", "utf-8");
reload();

お役に立てば幸いです。

于 2013-04-09T14:28:45.847 に答える