Размер фоновых изображений для поддержки всех средних и больших экранов Android
Я пишу приложение и хочу, чтобы одно из моих занятий имело опыт,
Я читал документы для Android о поддержке нескольких разрешений и т. Д., Но мой дизайнер спрашивает меня, какой размер должен быть у обоев, и я не хочу, чтобы было много изображений с низким, нормальным и высоким разрешением на всех экранах.
Какой самый эффективный способ получить хороший экран, заполняющий графический фон на всех этих экранах?
Android великолепен и все такое, но я не хочу заканчивать с огромным приложением, так как мне нужны изображения всех размеров для всего.
2 ответа
Один из подходов заключается в проектировании плотностей и использовании рекомендаций по дизайну иконок для значков, а также размеров, указанных в области " Диапазон экранов " в руководстве " Поддержка нескольких экранов" для фоновых изображений.
Для фоновых изображений обязательно учитывайте размеры строки состояния.
Вы можете поместить свои ресурсы в соответствующие папки drawable-mdpi, drawable-hdpi, drawable-ldpi, и они будут использоваться соответствующим образом.
Как насчет того, чтобы иметь только один пейзажный фон с высоким разрешением и использовать стратегию "растяжения" для отображения?
mBackgroundGraphic = BitmapFactory.decodeResource(getResources(), R.drawable.background);
mBackgroundGraphic = getResizedBitmap(mBackgroundGraphic);
public Bitmap getResizedBitmap(Bitmap bm) {
int width = bm.getWidth();
int height = bm.getHeight();
int displayWidth = mDisplay.getWidth();
int displayHeight = mDisplay.getHeight();
float scaleWidth = ((float) displayWidth) / width;
float scaleHeight = ((float) displayHeight) / height;
// Create a matrix for the manipulation
Matrix matrix = new Matrix();
// Resize the bit map
matrix.postScale(scaleWidth, scaleHeight);
// Return the new stretched Bitmap
return Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);
}