Différents fichiers de configurations pour différents types d'écrans

 

Comme vous l'avez vu lors des explications sur le programme hello world, dans le répertoire res/layout est défini un fichier .xml

Fichier qui sera nommé main.xml ou activity_main.xml (suivant la version de vos outils de développement) et qui contiendra toutes les informations pour dessiner nos écrans.

Image non trouvée !Il sera possible de compléter ou modifier ces écrans par code.

 

C'est dans ce fichier que vous allez déclarer la façon de positionner les layouts et les objets graphiques.

Par défaut, il n'existe que le répertoire res/layout. Mais comme vous l'avez constaté en magasin, il existe différentes tailles d'écrans pour les mobiles, et de plus, vous pouvez regarder ces écrans en mode portrait ou paysage. L'écriture même d'un texte peut être de gauche à droite, de droite à gauche, ...

Pour pouvoir dessiner vos écrans dans ces différentes configurations, il sera possible d'ajouter d'autres répertoires spécifiques à ces écrans.

Par exemple, pour définir un autre écran en mode landscape/paysage, il suffit d'ajouter le répertoire layout-land dans lequel vous retrouverez un nouveau fichier xml ayant le même nom que celui se trouvant dans layout pour votre activité. Mais celui-ci aura un contenu différent, car vous pourrez définir de nouveaux layouts, objets positionnés d'une autre manière, correspondant mieux au mode paysage.

Image non trouvée !Android recherche dans ces répertoires un fichier xml utilisé par une activité. s'il ne trouve rien dans ces répertoires, alors il utilisera celui déclaré dans res/layout. S'il ne trouve toujours rien, il y aura un message d'erreur.

Les autres répertoires possibles sont:

layout-port: pour le mode portrait

layout-land: pour le mode paysage

Mais aussi

layout-small: écran de petite taille
layout-normal: écran normal
layout-large: écran large
layout-xlarge: écran très large

et encore d'autres...

Pour plus de détails: http://developer.android.com/guide/topics/resources/providing-resources.html

 

Layout, layout-port et layout-land seront revus dans le traitement de la rotation de l'écran, plus exactement au chapitre "Laisser Android gérer la rotation mais sauver l'état de l'activité".