Размер фонового изображения Android в пикселях

Я хотел бы создать фоновое изображение для разных разрешений в Android. Поэтому мне нужны значения (в пикселях) для ldpi, mdpi, hdpi,xhdpi и xxhdpi. Важно, чтобы изображение не было размытым.

Я уже прочитал Документацию о поддержке нескольких экранов, но в пикселях есть размеры, а не пиксели.

5 ответов

Решение

Нет полного списка разрешений экрана, нет фиксированных значений в пикселях для ldpi, mdpi, hdpi, xhdpi и xxhdpi. Каждое устройство Android может иметь разное разрешение. Если вы хотите заполнить все разрешения, вам придется создавать слишком много изображений. Если вы поместите их в свое приложение, размер приложения будет огромным. Возможно, лучший подход - использовать составное изображение для фона.

Попробуйте следовать ниже ссылку на размер графического значка Android для различных разрешений экрана устройства.

                            ldpi     mdpi     hdpi     xhdpi    xxhdpi     xxxhdpi
Launcher And Home           36*36    48*48   72*72    96*96    144*144    192*192
Action Bar And Tab          24*24    32*32   48*48    64*64    96*96      128*128
Notification                18*18    24*24   36*36    48*48    72*72      96*96
Background                  320*426  320*470 480*640  720*1280 1080*1920  1440*2560

Согласно документации Android

mdpi - базовый размер

мы можем использовать его для измерения всех других масштабов, то есть, если значение mdpi (масштаб 1) равно 1 xhdpi (масштаб 2) равно 2, мультиплеерные размеры mdpi в значении масштаба

все размеры ширина х высота в пикселях

xxxhdpi: 1280x1920 px  // 4x
xxhdpi : 960x1440 px   // 3x
xhdpi  : 640x960 px    // 2x
hdpi   : 480x800 px    // 1.5 x at least 480x720  
mdpi   : 320x480 px    // baseline = 1x
ldpi   : 240x360 px    // .75 x

** обратите внимание, я добавляю xxhdpi со шкалой 3.0x к изображению *

  • xhdpi: 640x960 px
  • HDP: 480x800 пикселей
  • MDI: 320x480 пикселей
  • ldpi: 240x320 px

Я думаю, что довольно легко преобразовать DP в пиксели в andorid java, я достигаю этого с помощью этой функции, которую я создал

int getPixels(Context context, float dp) {
    return (int) (context.getResources().getDisplayMetrics().density * dp + .5f);
}

надеюсь, что это полезно для людей, и, пожалуйста, поделитесь своим мнением об этом, так как я хотел бы получить это преобразование как можно точнее, спасибо

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