4

友達、

次のコードを使用してサイズを変更しています

 private Bitmap resizeImage( final Bitmap image) {
        Bitmap resizedImage = null;
        if(image != null)
        {
        int maxHeight = 80; //actual image height coming from internet
        int maxWidth = 150; //actual image width coming from internet

        int imageHeight = image.getHeight();
        if ( imageHeight > maxHeight )
        imageHeight = maxHeight;
        int imageWidth = (imageHeight*image.getWidth()) / image.getHeight();
        if ( imageWidth > maxWidth ) {
        imageWidth = maxWidth;
        imageHeight = (imageWidth*image.getHeight()) / image.getWidth();
        }
        resizedImage = Bitmap.createScaledBitmap( image, imageWidth, imageHeight, true);
        }
        return resizedImage;
        }

インターネットから来ています。今では高解像度の画面では正常に動作しますが、小さな画面では、画面の解像度に従って画像を表示するにはどうすればよいですか?

4

2 に答える 2

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

したがって、画面の幅と高さをhvにすると、画面の解像度に応じて画像を表示できます。

于 2011-05-06T11:26:29.790 に答える
2

3種類のドローアブルフォルダdrawable-hdpi、drawable-mdpi、drawable-ldpiを作成します。これらのフォルダに同じ名前の画像の差分解像度を入れます。アプリケーションはそれ自体をマップします。もう1つの方法は、9パッチイメージを作成することです。9パッチの画像は、解像度に応じて自動的に調整されます。また、レイアウトを作成する際には注意が必要です。レイアウトを正しく設定する必要があります。画面のどの部分に画像を設定するかは、画面の高さと幅が必要です。

ありがとうDeepak

于 2011-05-06T14:04:08.817 に答える