как масштабировать изображение в соответствии с разрешением экрана?


Друзья,

Я использую следующий код для изменения размера изображения

 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;
        }

Исходящие из интернета. теперь он прекрасно работает на экране с высоким разрешением, но на маленьком экране он не ведет меня, что я должен делать, чтобы отобразить изображение в соответствии с разрешением экрана?

2 3

2 ответа:

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

Таким образом, когда вы HV ширина экрана N высота с вами, вы можете отображать изображение в соответствии с разрешением экрана .

Создайте три типа папок drawable drawable-hdpi, drawable-mdpi, drawable-ldpi. Поместите различное разрешение изображений с одинаковым именем в эти папки. Приложение само себя отобразит. Другой способ-создать 9-патч образ. 9-патч изображения настраивается в соответствии с разрешением. а также вы должны быть осторожны при создании макета. вы должны правильно настроить макет. Высота и ширина экрана необходимы, чтобы установить изображения в какой части экрана.

Спасибо Дипак