2009-09-30 6 views
3

J'ai besoin d'implémenter un écran contenant une liste de blocs les uns en dessous des autres. Chaque bloc contient plusieurs éléments de superposition (Images, texte) pour lesquels la position relative doit être spécifiée par rapport au coin supérieur gauche du bloc. Pour créer la liste des blocs, j'ai utilisé ListView. Pour chaque bloc j'ai essayé d'utiliser la disposition relative. Cela fonctionne bien quand le téléphone est en mode paysage et la position absolue est spécifiée par rapport au bord gauche du téléphone. Mais lorsque le téléphone est mis en mode portrait, la disposition est déformée.Spécification des positions relatives dans la mise en page?

  1. Quelle disposition peut être utilisée pour ce scénario?
  2. Les positions relatives peuvent-elles être spécifiées en termes de pourcentage d'écran largeur/hauteur au lieu de pixels?

Répondre

4

Vous pouvez utiliser différentes dispositions pour le mode portrait et paysage dans les dossiers "layout-port"/"layout-land", qui seront chargés automatiquement lors du changement d'orientation de l'écran. Vérifiez les documents ou certains des livres Android pour une explication complète comment Android résout le dossier avec les meilleures ressources correspondant. À partir de maintenant, le plus proche du pourcentage largeur/hauteur est LinearLayout.LayoutParams 'layout_weight, qui détermine la quantité d'espace restant (de 0 à 1) à occuper par la vue/l'élément donné.

+0

S'il vous plaît mentionner le nom des livres où j'ai trouvé "Android résout le dossier avec les meilleures ressources correspondant". Il n'y a pas d'autre option au lieu de créer des dossiers "layout-port"/"layout-land" – Vicky

+1

@Vicky - essayez http://developer.android.com/guide/topics/resources/providing-resources.html –

Questions connexes