Размер фоновых изображений для поддержки всех средних и больших экранов 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);
}
Другие вопросы по тегам