2010-12-09 32 views
1

J'ai posé une question semblable à celle-ci, mais je pensais que je poserais une question plus générale pour obtenir une plus grande variété de commentaires.Comment commencez-vous à développer une application Android pour plusieurs tailles/densités de périphériques?

Je pose cette question parce que les deux dernières applications que j'ai développées, j'ai jeté toutes les ressources d'image dans le dossier drawable-hdpi, ne traitait pas en mode paysage, testé principalement sur mon propre téléphone Droid, et fondamentalement senti comme si je développais seulement pour mon propre appareil. Bien que j'aie toujours utilisé dpi et sp aux endroits appropriés, cela n'a pas suffi pour que mon application puisse évoluer correctement sur d'autres tailles/densités d'écran. Il a parfois bien échelonné, mais aurait toujours tendance à couper une partie de l'écran sur des tailles plus petites.

Quelles sont les meilleures façons de commencer une application qui échelle au moins un peu bien sur tous les appareils?

Par exemple, dois-je construire mes mises en application afin qu'il semble correct à l'écran par défaut HVGA et permettre à l'échelle à des densités plus grandes? Serait-ce une bonne pratique de construire activement les fichiers de mise en page portrait et paysage?

Que faites-vous pour vous assurer que vos applications air agréable sur tous les appareils sans se concentrer uniquement sur une taille, puis le brouillage autour plus tard pour gérer cela?

+2

http://developer.android.com/guide/practices/screens_support.html –

Répondre

2

je suis toujours ces règles:

  • tout mis de supports-screens à true. Android saura que vous êtes prêt pour chaque environnement d'écran et vous saurez qu'il ne fait aucune virtualisation d'écran. Par exemple: même si votre appareil a un écran de grande taille, votre code le verra comme un écran de taille normale.
  • N'utilisez pas de formats fixes pour la largeur et la hauteur. Si vous le devez, utilisez "dp" comme pixel virtuel. utilisez WRAP_CONTENT et FILL_PARENT. "dp" est un pixel physique sur l'écran avec 160 dpi. Si votre application fonctionne sur un appareil avec une densité inférieure/supérieure, Android recalculera cela pour vous.
  • utilisez "dp" comme unité pour la taille de la police.
  • essayer de faire tout relativement. Vous pouvez utiliser RelativeLayout si vous voulez avoir "quelque chose sous un autre", etc. Si vous avez besoin de pourcentages, vous pouvez utiliser LinearLayout.
  • utiliser neuf-chemins comme arrière-plan.
  • Assurez-vous de placer les ressources dans des dossiers correctables.

hors cours, ce n'est pas la meilleure approche pour chaque projet :) Parfois, concepteur d'interface utilisateur veut un peu plus:]

+0

pourrait vous parlez "n'utilisez pas de tailles fixes pour la largeur et la hauteur". un peu plus loin? Qu'est-ce qui devrait être utilisé à la place de coder en dur une largeur ou hauteur de quelque chose? – joepetrakovich

+0

les attributs supports-écrans sont par défaut à true, donc il ne sert à rien de tous les régler à vrai – pheelicks

+0

@pheelicks: pas correct. Cela dépend de tag –