Question

Je confusion en ce qui concerne plusieurs écrans soutien dans Android. Je suis passé par article pour le soutien multi-écrans au forum des développeurs Android. Ma question est de savoir si l'application a 15-20 images qui doivent être montré plein écran sur l'écran de l'appareil. Maintenant, si je veux soutenir tous les écrans que dois-je mettre dans trois dossiers étirables LDPI, MDPI & hdpi. Voici ce que je l'ai fait

Dans LDPI - images de résolution 240x320 mdpi - images de 320x480 reolution hdpi - images de 720x800 résolution. (J'utilise même pour les trois densités résolution) Je pense que ce n'est pas bonne approche.

Qu'est-ce que je dois faire exactement? Mettre images de résolution différente dans étirable-LDPI, étirable-mdpi & étirable-hdpi comme ci-dessus ou doit-on employer des images de différentes densités 120 dpi, 160 dpi et 240 dpi. Si j'utilise des images de différentes densités ce qui devrait être leur résolution (120 dpi devrait être la résolution 240x320, 160 dpi résolution 320x480 et la résolution de 240 dpi soit 480x800). Ou si j'utilise des images différentes dpi leur résolution doit être identique (320x480) pour toutes les densités.

Cordialement, Anuj

Était-ce utile?

La solution

Idéalement, vous devriez avoir dessinables avec des densités différentes pour les écrans différents. Vous pouvez utiliser des tailles que vous avez mentionnées pour vos images. Mais vous pouvez aussi fournir que des images de haute-dpi et ils seront à la densité downscaled d'écran de l'appareil de l'utilisateur de correspondance.

Aussi, si vous souhaitez que les images à afficher en plein écran, vous avez peut-être d'avoir différentes versions de ces images pour les orientations portrait et paysage et pour les écrans longs et pas longtemps.

Et enfin, vous pouvez utiliser un widget ImageView pour une bonne mise à l'échelle de l'image sur différents appareils.

Autres conseils

Anujprashar, il n'y a pas de réponse facile à votre question. Les densités différentes spécifications (hdpi, mdpi, LDPI) se réfèrent seulement à une plage moyenne de densités (à savoir hdpi est d'environ 240 ppi). Cependant, hdpi pourrait se référer à un grand nombre de résolutions différentes (par exemple Motorola Droid est hdpi, résolution 480x854, Nexus One est hdpi, résolution 480x800). Donc, il n'y a pas d'image de taille fixe, vous pouvez utiliser pour adapter parfaitement tous les appareils plein écran.

Ma suggestion est, si possible, que ce soit éviter d'utiliser une disposition qui oblige les images à la taille exacte de l'écran, ou au lieu de fournir une image plus grande que la majorité des résolutions pour que la densité cible (par exemple 500x900) en laissant marges supplémentaires qui peuvent être rognés (pensez comme un saignement, si vous êtes familier avec ce concept pour l'impression).

Ou plus simplement, si vous ne les oblige pas à afficher 1: 1 à leur résolution de pixels d'origine, vous pouvez simplement le scaleType d'un ImageView à centerCrop, et sa largeur et sa hauteur fill_parent. Cela permettra d'élargir (ou condensation) de l'image pour être compatibles avec le récipient, de culture de pixels si le rapport d'aspect est incorrect.

La méthode la plus difficile (et beaucoup moins efficace) serait d'avoir une image différente pour chaque résolution d'écran et une méthode dans votre onCreate () pour récupérer les dimensions de l'écran et définir l'image en fonction des valeurs que vous obtenez en arrière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top