2012-10-22 5 views
4

Très beaucoup une question de débutant ici, mais je ne peux pas trouver une réponse claire sur le net ou dans les livres que j'ai. Je suis en train de concevoir une application pour être compatible avec toutes les tailles d'appareils Android et je veux afficher une image dans mon application. Je comprends qu'android ajuste automatiquement les images en fonction de la résolution de l'écran affiché.Travailler avec des images dans le développement d'applications Android

Ma question est ce que je cherche dans les images que j'utilise? Par exemple. J'ai une photo qui est 2418 x 2192 @ 240dpi. Pour autant que je sache, cela devrait être parfait pour un écran plus grand comme une tablette. Si je mets ceci dans le dossier d'image de xhdpi dans mon projet sera-t-il détecté par d'autres dispositifs et mis à l'échelle pour adapter à leurs dimensions/résolutions? Dois-je créer 3 versions différentes de cette image dans photoshop et la placer dans les dossiers dpi pertinents?

Je ne trouve pas de tutoriel pour les débutants, je n'ai aucune idée de ce que je fais!

Répondre

2

C'est le meilleur endroit pour commencer pour le soutien multiple taille de l'écran:

http://developer.android.com/guide/practices/screens_support.html

La réponse courte est oui, vous placez les images dans les répertoires différents en fonction de la résolution et Android sélectionnerez quelle image à utiliser en fonction des propriétés de l'appareil. Vous devriez faire un plus petit ensemble d'images, par exemple, pour mdpi et hdpi. Vous n'avez pas à "faire" cela, et si vous placez simplement l'image dans drawable il peut être réduit, mais ce n'est généralement pas la meilleure façon de procéder.

+0

J'ai regardé cette ressource que vous avez indiquée et je comprends le besoin de redimensionner mais il n'y a pas de directives pour savoir quelles caractéristiques de base une image devrait avoir autre que la dpi. 120dpi pour les appareils à budget et 240dpi pour les appareils à haute résolution. Quelles dimensions doivent être ces images? Je ne peux tout simplement pas le comprendre! – adohertyd

+0

Cela dépend de la taille de l'image sur l'écran. Voici la section pertinente de l'article qui en parle: "Pour créer d'autres tracés bitmap pour différentes densités, vous devez suivre le rapport d'échelle 3: 4: 6: 8 entre les quatre densités généralisées.Par exemple, si vous avez un format bitmap de 48x48 pixels pour un écran de densité moyenne (taille d'une icône de lanceur), toutes les tailles doivent être: 36x36 pour faible densité 48x48 pour moyenne densité 72x72 pour haute -densité 96x96 pour très haute densité " – ajpolt

+0

cela pourrait être une question stupide maintenant, mais si mon image originale est 48x48 et je l'échelle à 96 x 96 ne sera-ce pas de très mauvaise qualité? Sûrement, il serait préférable d'avoir une image 96 x 96 – adohertyd

2

C'est quelque chose que vous allez traiter sur à peu près tous les projets, car il y a tellement d'appareils Android. This resource m'a beaucoup aidé.

Si vous avez une ressource dans un seul dossier, Android le met à l'échelle pour vous. Les différents dossiers dessinables sont destinés à permettre au développeur de fournir des images correctement mises à l'échelle avec un minimum d'effort. Par exemple, vous souhaiterez fournir un xhdpi en plus de l'image mdpi "standard" pour améliorer la qualité des actifs sur les périphériques haute résolution. L'application fonctionnera correctement (et aura des images mises à l'échelle) dans toutes les résolutions, même si vous n'avez fourni qu'une seule image. Cependant, si vous avez fourni un Xhdpi drawable, alors il y a un peu de surcharge pour redimensionner tous ces éléments, et en particulier pour les icônes, les résultats peuvent ne pas sembler très bons (ou même être reconnaissables).

Je fournis généralement des ressources pour mdpi et xhdpi, mais si l'application voit une utilisation fréquente sur les périphériques de faible résolution, je fournis également le ldpi. Si possible, j'inclus tous les quatre.

Remarque: L'image que vous mentionnez est beaucoup trop volumineuse pour être incluse dans les ressources de l'interface utilisateur et sera probablement mieux placée dans les ressources et chargée sur demande. Même sur les périphériques xhdpi, il devrait être réduit.

+0

Merci pour la réponse. Qu'est-ce qui serait considéré comme une «bonne image»? Je sais que l'image que j'ai référencée est assez grande. Quelles dimensions dois-je rechercher? Si je voulais une image pour convenir à une tablette Galaxy Tab 10,1 ', un Galaxy SII, et un HTC Wildfire par exemple. Cela nécessiterait 3 versions différentes de la même image correcte? Quelles dimensions devraient être chacune approximativement? Comme je l'ai dit, vraiment perdu avec ce genre de choses. – adohertyd

Questions connexes