2010-01-06 6 views
11

Quelles sont les dimensions par défaut du fond d'écran d'accueil/fond pour les différentes configurations d'écran Android (petits écrans, normal et grand avec une densité faible, moyenne et haute)?Android fond d'écran/dimensions de fond

Les fichiers PNG à 9 patchs sont-ils pris en charge pour le papier peint? Devrais-je les utiliser à la place?

J'ai trouvé une méthode au niveau API 5 qui vous donne la taille minimale du fond d'écran, mais je voudrais également prendre en charge les versions précédentes d'Android.

Merci!

Répondre

27

Un papier peint est deux fois plus large que l'appareil tenu en mode portrait. Donc 960x800 sur un Nexus One, 960x854 sur un Droid, sur un G1 640x480/Magie/Héros, etc.

+0

Merci Romain! C'est agréable de voir les développeurs Android de Google ici. – hpique

+2

Est-ce toujours vrai pour les nouvelles interfaces utilisateur? – ina

+2

Est-ce également vrai pour les interfaces utilisateur de tablette? –

3

This article on the Android Developers' site affiche la plage des résolutions d'écran pour chaque densité. Je crois que les fonds d'écran doivent correspondre à la résolution de l'écran et ne sont pas étirés. Vous pouvez le voir si, par exemple, vous créez un nouvel émulateur avec une densité d'écran élevée comme 480x854. L'arrière-plan de l'écran d'accueil par défaut est centré, avec de grandes bandes noires en haut et en bas.

Le WallpaperManager API indique que vous devez utiliser une image PNG- ou format JPEG, même si vous utilisez la méthode setResource() — la ressource doit être un Bitmap et donc pas un neuf patch ou autre type de Drawable.

+1

Merci pour la réponse rapide. Cependant, au moins les arrière-plans fournis avec l'appareil sont plus grands que la résolution de l'écran. Cela permet à l'arrière-plan de se déplacer lorsque vous balayez vers la gauche ou la droite sur l'écran d'accueil et que vous modifiez la page. Je crois que la hauteur correspond à la résolution de l'écran, mais pas la largeur, qui est égale ou supérieure à la plus grande dimension, que l'arrière-plan se déplace à la fois en mode portrait et paysage. – hpique

+0

Oups, tout à fait raison .. J'allais dire que vous devez avoir un fond avec au moins la plus grande dimension au carré. J'ai un HTC Hero qui ne fait pas de paysage sur l'écran d'accueil, donc je n'ai pas vraiment étudié comment le problème de balayage/largeur est géré. –

0

Ne devinez pas, demandez au WallpaperManager:

manager = WallpaperManager.getInstance(this); 
    width = manager.getDesiredMinimumWidth(); 
    height = manager.getDesiredMinimumHeight();