Aller au contenu

Comment créer différente version suivant le telephone


blubsy

Recommended Posts

Bonjour,

j'ai créé une application et après avoir testé longtemps sur mon hero j'ai commencer à testé l'appli sur un autre phone avec une résolution plus grande.

Je me demandais donc comment mettre en place un système gérant plusieurs résolution.

Merci par avance pour vos conseils.

Lien vers le commentaire
Partager sur d’autres sites

Déjà il faut utiliser le SDK >= 1.6, ce qui te permet de gérer le ldpi, hdpi, etc... Si tu veux conserver une compatibilité avec Cupcake, il faut que tu spécifies une "minTarget" à 3 et que tu n'utilises aucune API spécifique à Donut ou supérieur (sauf dans le manifest.xml où tu peux spécifier des tags spécifiques au sdk choisi, par exemple tu peux passer sur le sdk 2.2 et utiliser les tag "installLocation" sans pour autant casser la compatibilité avec les versions inférieures).

Ensuite, ben tu fais différentes versions de tes images, dans tes layouts tu n'utilises que les dip et jamais les px, et idéalement tu n'utilises même pas les dip mais seulement des wrap_content et/ou fill_parent.

Perso je fais tout en mdpi (pas de versions spécifiques des images), et mes layout n'utilisent jamais de tailles absolues, et ça s'adapte tout seul :) J'ai encore un petit bug sur le titre d'une boite de dialogue sur le Tattoo, mais je crois que je n'y peux pas grand chose (c'est la barre grise du dialogue qui coupe le texte en hauteur, que puis-je y faire ? :/).

Il y a quelques infos sur la page dédiée à ça sur d.android.com : Supporting multiple screens

Lien vers le commentaire
Partager sur d’autres sites

Super merci bc,

quand je vois tous ça je me dit que j'ai encore pas mal de boulot pour progressé, faut vraiment que je prenne du temps pour comprendre toutes les subtilités du développement sous android.

Merci bc en tous cas.

Lien vers le commentaire
Partager sur d’autres sites

C'est une problématique très complexe de gérer les différentes versions, de sortir de nouvelles versions de l'OS tout en proposant aux développeurs de bénéficier des nouvelles fonctionnalités tout en laissant leur appli compatible avec les anciennes versions. Leurs solutions marchent super bien, mais forcément oui c'est un peu lourd à digérer ;)

En gros ce qu'il faut comprendre pour assurer la compatibilité sans prise de tête :

* Dans le Manifest on peut utiliser tout ce qui est offert par le SDK choisi (2.2 par exemple).

* Dans l'organisation des ressources (dossier "res") on peut ajouter des dossiers correspondant à des versions supérieurs à la version minimale requise, ces dossiers ne seront supportés que par les versions concernés (par exemple en 1.6 les images hdpi et ldpi seront prises en compte, en 1.5 ce ne seront que les images de mdpi). Sur ce coup je ne suis pas hyper sûr, mais c'est ce que j'ai observé.

* Dans le code, tu dois impérativement n'utiliser que les API de ton "minTarget" (1.5 par exemple). Pour s'en assurer : soit la doc, soit démarrer le projet avec le SDK correspondant et switcher ensuite sur le target maximum.

Bon courage !

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...