Эффективное масштабирование изображений для нескольких устройств Android: лучший подход

У меня есть изображения размером 1080P, теперь я не хочу использовать различные варианты изображений, которые мы помещаем в папку RES. Я собираюсь установить это приложение на устройства 1K со случайными изображениями, поэтому невозможно иметь разные версии изображений.

Можем ли мы масштабировать его во время выполнения, получая при этом лучшее качество?

1 ответ

Для масштабирования изображений используйте следующее

Bitmap bitmap = BitmapFactory.decodeResource(
                getResources(), R.drawable.app_bg);
scaledBitmap = Bitmap.createScaledBitmap(bitmap, width, height, true);

затем назначьте это scaledBitmap любому ImageView или любой другой View, Это будет масштабировать оригинал Bitmap на запрошенный width а также height, Чтобы получить ширину и высоту экрана устройства, используйте следующие

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

РЕДАКТИРОВАТЬ
Для того, чтобы справиться MemoryLeakException добавлять scaledBitmap.recycle() после использования этого Bitmap,

Другие вопросы по тегам