Squelette d’application pour supporter plusieurs écrans

Comme nous le soaps, Android vient avec divers appareils qui ont des fonctionnalités, une résolution et une taille d’écran différentes. Ainsi, tout en développant une application prenant en charge plusieurs écrans (petits et grands), il existe un obstacle de taille et de disposition.

Cela conduit à différentes combinaisons de tailles d’écran, de résolutions et de DPI, et crée un véritable défi lors de la conception et du développement pour les appareils Android. Alors que d’autres fabricants (non Android) ont des résolutions et des DPI différents, ils partagent la même taille d’écran et les résolutions suivent le même rapport d’aspect. Par conséquent, une image peut être créée pour s’adapter aux périphériques non Android.

Ma question est la suivante: y a-t-il un stream ou une architecture appropriée à suivre pour satisfaire à l’exigence?

entrer la description de l'image ici

Rappelez-vous que nous avons des tablettes de différentes tailles et résolutions.

Je suis conscient que le développeur Android contient ces informations, mais mon sharepoint vue provient de la mise en œuvre.

À ma connaissance, ce que j’ai compris, c’est que pour concevoir des graphismes Android, même le programmeur doit connaître le concept de conception.

Enfin créé une structure qui gère les mises en page et les icons pour plusieurs écrans.

Android généralise les affichages des appareils en catégories basées sur deux parameters:

  • Taille de l’écran, taille physique de l’écran (mesurée en diagonale)
  • Densité de l’écran, densité de pixels physique de l’affichage (en pixels par pouce ou ppi)

Pour déterminer rapidement la taille et la densité de l’écran, installez l’application ” What’s my Size ” pour Android.

Taille de l’écran

Android définit quatre tailles d’écran généralisées:


  Qualifier Size small ~3 inches (approx) normal ~4 inches (approx) large Exceeds 4 inches xlarge Exceeds 7 inches 
  • La plupart des téléphones sont classés comme petits ou normaux (environ 3 à 4 pouces de diagonale). Mais maintenant, il y a beaucoup de téléphones avec grand écran tels que Galaxy S4, HTC One, Xperia Z
  • Une petite tablette comme le Samsung Galaxy Tab est classée comme grande (plus de 4 pouces)
  • Extra-large s’applique aux gros appareils, par exemple les grandes tablettes

Android définit quatre densités d’écran généralisées:


  Qualifier Description Nominal value ldpi low density 120 ppi mdpi medium density 160 ppi hdpi high density 240 ppi xhdpi extra high density 320 ppi 

Typiquement:

  • la taille de l’écran a le plus d’impact sur les mises en page de vos applications
  • la densité de l’écran a le plus d’impact sur votre image et vos ressources graphiques

Il est répertorié ici la différence en pourcentage de l’écran de l’appareil

  • Ldpi- 75%
  • Mdpi- 100% (base selon le site développeur Android)
  • HDPi- 150%
  • XHdpi- 200%

entrer la description de l'image ici

Mais comme nous le soaps maintenant, la plupart des appareils livrés avec 480X800 , je suis donc considéré comme un appareil basé, donc notre nouveau calcul sera comme ça

  • Ldpi- 50%
  • Mdpi- 66,67%
  • HDPi- 100%
  • XHdpi- 133,33%

ce qui signifie que la première icône et le premier design seront créés uniquement pour 480X800 , puis pour les autres (par exemple, Ldpi, Mdpi, Xhdpi).

Il existe des images communes à tous les agencements et dont la couleur et la forme doivent être uniformes (pas de forme complexe, pas de courbe). Pour ce type d’image, nous créons 9patch qui doit être placé dans un dossier “drawable (no-suffix)”. Pour créer une image 9Patch, vous pouvez utiliser DrawNinePatch ou BetterNinePatch

Maintenant, renommez simplement vos images selon les normes d’Android et complétez votre application avec hdpi , puis prenez drawable-hdpi dossier drawable-hdpi et Open Photoshop Adode (recommandé) créez une action de plusieurs tailles (changez simplement la taille en pourcentage) une fois l’action créée pour tous taille puis il suffit de faire Batch Automate et de donner la source (drawable-hdpi) et la destination (drawable-ldpi, drawable-mdpi, drawable-xdpi).

La raison pour laquelle je vous oblige à utiliser Photoshop car il redimensionne automatiquement votre image avec Actions et un autre point positif est que vous n’avez pas besoin de renommer le fichier (il atsortingbuera le même nom que l’original).

Une fois la création de toutes les images terminée, actualisez votre projet et testez-le.

Parfois, il est possible que la mise en page qui supporte l’écran (xhdpi, hdpi, mdpi) soit réduite au petit écran (ldpi). Pour cela, créez un dossier Layout distinct (layout-small) et ajoutez ScrollView (surtout) . C’est tout.

Les tablettes sont classées en deux tailles.

  1. 7 “(1024X (600-48 (barre de navigation))) = 1024X552 (grand format)
  2. 10 “(1280X (800-48 (barre de navigation))) = 1280X752 (dessinable-xlarge)

En cela, nous devons créer une image à la fois pour l’écran et juste les mettre en conséquence

Dans l’ensemble, nous aurons ce dossier dans notre application pour prendre en charge plusieurs écrans.

 drawable drawable-ldpi drawable-mdpi drawable-hdpi drawable-xhdpi drawable-large drawable-xlarge 

sera plus une combinaison de qualification avec la Screen size and Screen density

 drawable-large-ldpi drawable-large-mdpi drawable-large-hdpi drawable-large-xhdpi 

plus de qualificatif avec Screen density and Version

 drawable-ldpi-v11 drawable-mdpi-v11 drawable-hdpi-v11 drawable-xhdpi-v11 

et plus de qualificatif avec la Screen size and Version

 drawable-large-v11 drawable-xlarge-v11 

et plus qualificatif avec le Smallest width concept(SW)

  drawable-sw???dp 

De plus, dans Android V3.0 Honeycomb, ils ont introduit un nouveau concept de SW(smallest width) dans lequel les périphériques sont classés par largeur d’écran. Ainsi, si nous créons un dossier intitulé drawable-sw360dp le périphérique 720dp utiliser la ressource de ce dossier.

par exemple pour trouver le dp Samsung Galaxy S3 à suffixer pour dessiner-sw? dp
En référence au calcul du DP , si vous souhaitez prendre en charge votre mise en page ou dessiné au format S3, le calcul indique

px = Largeur du périphérique = 720
dpi = Densité du périphérique = 320

formule donnée

  px = dp * (dpi / 160) 

formule interchangeable parce que nous avons la valeur de px

  dp = px / (dpi / 160) 

maintenant mettre de la valeur,

  dp= 720 / (320/160); dp=360. 

donc drawable-sw360dp fera le travail

Confirmez la configuration de votre périphérique à partir de GsmArena Sameway Vous pouvez également créer un dossier en fonction de la version de l’API Android de Device, à savoir drawable-hdpi-v11`. Le périphérique qui utilise API11 et Hdpi utilisera alors ces ressources.

Conseils supplémentaires:

  • Utiliser des mises en page relatives, dp, sp et mm

    dp units – pixels indépendants du périphérique normalisés à 1 pixel physique sur un écran de 160 ppi, soit une densité moyenne. Mise à l’échelle à l’exécution. Utiliser pour les dimensions des éléments d’écran

    unités sp – pixels mis à l’échelle, spécifiés en tant que valeurs à virgule flottante, basés sur les unités dp mais également mis à l’échelle pour le paramètre de préférence de taille de police de l’utilisateur. Mise à l’échelle à l’exécution. Utiliser pour les tailles de police

    vous devez toujours utiliser RelativeLayout pour les mises en page; AbsoluteLayout est obsolète et ne doit pas être utilisé.

  • Utilisez les formats d’image appropriés – PNG versus JPEG

    Android "prefers" PNG for bitmap image files, "accepts" JPEG, and "discourages" GIF.

    Cependant, PNG et JPEG ne sont pas des équivalents. Ils ont des compromis de qualité différents, et PNG n’est pas toujours le meilleur:

    JPEG peut offrir jusqu’à 50% de réduction de la taille des fichiers par rapport au format PNG, ce qui est important si votre application utilise beaucoup d’images

    Une qualité JPEG “avec perte” de meilleure qualité peut sembler meilleure qu’un format PNG “sans perte” hautement compressé, pour la même taille de fichier

  • Ajouter des étiquettes à vos images et graphiques pour le débogage

  • Utiliser l’élément supports-screens

  • Configurez vos émulateurs avec des valeurs de périphérique réelles

    Conventionnellement, les systèmes de bureau affichent à 72ppi (Mac) ou 96ppi (Windows, Linux). Par rapport aux appareils mobiles, les affichages de bureau sont toujours à faible densité.

    Configurez toujours vos émulateurs Android pour imiter les valeurs réelles des périphériques, et configurez-les toujours pour évoluer afin d’émuler la densité des périphériques.

    Dans Eclipse, il est facile de créer plusieurs émulateurs (à partir de la barre de menus Eclipse, sélectionnez Fenêtre> Gestionnaire AVD> Nouveau ) configuré avec des valeurs pour les périphériques réels:

    Nommez l’émulateur pour le périphérique réel qu’il émule Spécifiez la résolution, n’utilisez pas les tailles génériques intégrées Définissez la densité du périphérique pour qu’elle corresponde au périphérique réel (dans la fenêtre du matériel définissez Propriété LCD abstraite sur la densité réelle, toujours un nombre entier)

    Lorsque vous lancez l’appareil, sélectionnez toujours Échelle d’affichage à la taille réelle et entrez la dimension d’écran réelle en pouces.

    Si vous ne définissez pas la densité de périphérique, l’émulateur utilise par défaut une densité faible et charge toujours des ressources spécifiques à ldpi. La résolution (dimensions en pixels) sera correcte, mais vos ressources d’image dépendantes de la densité ne s’afficheront pas comme prévu.

    Bien sûr, rien de ce que vous ferez ne reproduira une qualité d’image de densité supérieure sur un écran de bureau de moindre densité.

Voici les données collectées sur une période de 7 jours se terminant le 1er octobre 2012. Pour voir les dernières statistiques sur la version de la plateforme Android, cliquez ici

Basé sur la taille de l’écran

entrer la description de l'image ici

Basé sur la densité de l’écran

entrer la description de l'image ici

Les concepteurs doivent créer des conceptions de base de

base size of mdpi devices * density conversion factor of highest supported density bucket
taille.La taille de l’écran de base est de 320 x 480 px et les compartiments de densité sont les suivants:

  • ldpi: 0.75
  • mdpi: 1.0 (densité de base)
  • hdpi: 1.5
  • xhdpi: 2.0
  • xxhdpi: 3.0
  • xxxhdpi: 4.0

Et pour réduire l’espace disponible sur les appareils Android, vous devez utiliser des composants extensibles dans les deux directions (horizontalement et verticalement). Des informations détaillées sont disponibles ici:

http://vinsol.com/blog/2014/11/20/tips-for-designers-from-a-developer/