Je souhaite créer une image de fond pour différentes résolutions sous Android. J'ai donc besoin des valeurs (en pixels) pour ldpi, mdpi, hdpi, xhdpi et xxhdpi. Il est important que l'image ne soit pas floue.
J'ai déjà lu la documentation sur la prise en charge de plusieurs écrans, mais il existe des tailles en dp au lieu de pixel.
il n'y a pas de liste complète des résolutions d'écran, il n'y a pas de valeurs fixes en pixels pour ldpi, mdpi, hdpi, xhdpi et xxhdpi. Chaque appareil Android peut avoir une résolution différente. Si vous voulez remplir toutes les résolutions, vous devrez créer trop d'images. Si vous les mettez dans votre application, la taille de l'application sera énorme. Une meilleure approche consiste peut-être à utiliser une image composite pour l’arrière-plan.
Essayez de suivre ci-dessous la référence de taille graphique de l'icône Android pour différentes résolutions d'écran.
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
Selon la documentation Android
mdpi est la taille de la ligne de base
nous pouvons l'utiliser pour mesurer toutes les autres échelles, ce qui signifie que si mdpi (échelle 1) est égal à 1 xhdpi (échelle 2) doit être égal à 2, tailles multiplay mdpi en valeur d'échelle
toutes les tailles largeur x hauteur en pixel
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
** remarquez que j'ajoute xxhdpi avec une échelle de 3.0x à l'image *
je pense qu'il est assez facile de convertir le DP en pixels en andorid Java, je réalise cela avec cette fonction que j'ai créée
int getPixels(Context context, float dp) {
return (int) (context.getResources().getDisplayMetrics().density * dp + .5f);
}
espérons que cela soit utile aux gens, et de bien vouloir partager votre point de vue là-dessus, car je voudrais que cette conversion soit aussi précise que possible, merci