3

J'ai appris le développement Android et Phonegap principalement à partir de ces deux sources:résolutions d'écran

http://news.softpedia.com/news/How-to-Run-Android-Applications-on-Ubuntu-115152.shtml

http://wiki.phonegap.com/w/page/30862722/phonegap-android-eclipse-quickstart

J'ai un Samsung Galaxy Tab.

Ce qui me déconcerte, cependant, sont les suivants:

  1. Quelle taille d'écran dois-je utiliser dans le développement pour atteindre le plus grand nombre de téléphones et tablettes Android ici au 4ème trimestre 2010? Recommandez-vous WVGA800 pour un écran 480x800?
  2. Comment la plupart des applications Android se redimensionnent-elles correctement dans mon Samsung Galaxy Tab 7 "même si elle a une haute résolution? Que font les développeurs pour y parvenir? Je veux dire, pouvez-vous rendre vos applications stretchness et Ou est-ce que Google détecte que l'application a été conçue pour un écran plus petit et qu'elle gère donc le redimensionnement pour le Galaxy Tab? Et dois-je changer quelque chose dans le AndroidManifest.xml?
  3. J'ai utilisé la valeur par défaut de HVGA l'émulateur, et il était zippy rapide. Quand je suis passé à WVGA800, il a beaucoup plus lent. Pourquoi?

Répondre

8

Voici mes réponses tout à fait de la par d'un développeur Android RESPECTIFS (je n'ai aucune expérience avec PhoneGap, donc je ne peux pas dire comment cela affecte les choses):

  1. Pour la majorité de mes tests, je me concentre sur 320x480 et 480x800. Pour les tablettes, vous allez également vouloir tester spécifiquement contre le Galaxy Tab (voir pour plus de détails sur les tests dans l'émulateur).

  2. Les mises en page dans Android sont généralement conçues (ou devraient l'être) pour prendre en charge toute taille d'écran. En règle générale, les vues sont définies sur MATCH_PARENT (précédemment FILL_PARENT) ou WRAP_CONTENT. Leur taille dépend donc de la mise en page dans laquelle elles se trouvent ou du contenu qu'elles contiennent plutôt que de la taille de l'affichage. Vous pouvez également spécifier "DP" (pixels indépendants de la densité), qui sera automatiquement mis à l'échelle pour vous (donc 2dp serait 2px sur un appareil HVGA mais 3px sur un appareil WVGA). Les polices doivent être spécifiées dans SP, ce qui est essentiellement la même chose, mais aussi prendre en compte la préférence de police de l'utilisateur.

    Vous pouvez également appliquer des poids pour étirer des vues. Par exemple, si vous avez un LinearLayout avec une orientation horizontale, vous pouvez y placer deux Views (disons un TextView et un EditTextView). Vous pouvez définir ces deux paramètres sur WRAP_CONTENT pour leur largeur et leur hauteur, mais vous ajouterez probablement layout_weight = "1" à EditTextView, en lui indiquant de remplir l'espace restant. En outre, vous pouvez créer des dispositions spécifiques pour les périphériques volumineux afin de personnaliser l'affichage de l'onglet Galaxy.

  3. Plus la résolution est élevée, plus l'émulateur gère de pixels. Vous remarquerez également la différence de performance entre les versions d'Android.

Cela dit, il semble que PhoneGap est plus ou moins comme le développement d'une WebApp, dans ce cas, vous trouverez la Android Web Apps articles utile.

Modifier (réponses à premier commentaire depuis ma mise en forme a été se foiré):

Non, il n'y a rien à changer dans le AndroidManifest autre que de spécifier ce que vous soutenez:

<supports-screens 
    android:smallScreens="true" 
    android:normalScreens="true" 
    android:largeScreens="true" 
    android:xlargeScreens="true" 
    android:anyDensity="true" /> 

Pour CSS, vous pouvez utiliser specify styles based on density ou standard, des mesures Percents em, etc.

+0

Excellente réponse réfléchie. Donc, pour ajouter à cela, dois-je configurer mon AndroidManifest.xml d'une certaine manière pour gérer DP et SP? Et qu'en est-il des styles CSS? Dois-je utiliser des mesures dans DP et SP? – Volomike

+0

Le plus gros problème que j'ai remarqué en travaillant sur des combinés avec une résolution plus élevée est que le texte qui a été correctement dimensionné sur les écrans 480px est soudainement minute sur 720 écrans. Connaissez-vous une manière concise de rendre la taille de police beaucoup plus grande pour les grands écrans? –

1

je commencé à utiliser ce qui suit dans mon pour mes manifeste des applications qui peuvent fonctionner sur toute taille:

<supports-screens 
android:smallScreens="true"     
android:normalScreens="true"     
android:largeScreens="true"     
android:anyDensity="true" /> 
<uses-sdk android:minSdkVersion="4"></uses-sdk> 
Questions connexes