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.
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.
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é".