как масштабировать изображение в соответствии с разрешением экрана?
Друзья,
Я использую следующий код для изменения размера изображения
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 ответа:
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-патч изображения настраивается в соответствии с разрешением. а также вы должны быть осторожны при создании макета. вы должны правильно настроить макет. Высота и ширина экрана необходимы, чтобы установить изображения в какой части экрана.
Спасибо Дипак