1

Webサーバーからの画像を表示する機能の1つであるアプリを書いています。Webサーバーからの画像のサイズはさまざまです。画面中央に表示されます。画像が画面サイズよりも大きい場合は、画面に合わせてサイズが変更され、ユーザーはピンチしてズームできます。画像が画面サイズよりも小さい場合、サイズは変更されません。

試したこと:ズームを可能にするカスタムimageViewを実装しようとしましたが、多くの計算が必要なようです。それから私は多くのプログラマーがウェブビューによってこれをしているのを見つけます。

これでズームが可能になり、画面の中央に配置されます。問題は、画像が画面サイズよりも小さい場合、画面に合わせて表示されることです。

質問、画像の縮尺を決定するためにこれを使用できるように、画像サイズの内側の幅を取得する方法はありますか?またはこれを達成するためのより良い方法はありますか?

以下は私が使用したコードです、どうもありがとうございました!

        final String html = "<body bgcolor=black>"
                + "<table width=100% height=100%><tr><td><center><img src=\""
                + userProfile.getImageUrl()
                + "\"  width=100% /></center></td></tr></table>" + "</body>";

        WebSettings settings = mWebView.getSettings();
        settings.setBuiltInZoomControls(true);
        settings.setSupportZoom(true);
        settings.setUseWideViewPort(true);
        settings.setLightTouchEnabled(true);
        settings.setLoadWithOverviewMode(true); 

        mWebView.loadDataWithBaseURL("fake://not/needed", html, "text/html",
                "utf-8", "");
4

1 に答える 1

0

利用する

    settings.setLayoutAlgorithm(PARAMETER OF YOUR CHOICE);

これが役立つかどうかはわかりませんが、試してみることができます

編集:最初に使用できます

    Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
    int screenWidth = display.getWidth();
    int screenHeight = display.getHeight();

画面の幅と高さを見つけるには、次を使用して画像をスケーリングできます

    resizedImage = Bitmap.createScaledBitmap( image, imageWidth, imageHeight, true);

この両方の方法を使用すると、WebView を必要とせずに画面全体に画像を表示できます

于 2012-07-17T13:07:25.990 に答える