Aller au contenu

Taille de l’écran dans les applications


Fractal

Recommended Posts

Bonjour,

Il est marqué partout que l’écran du Nexus S fait 800 × 480 pixels.

Mais j’ai créé une application toute simple qui remplit l’écran de carrés de 20 pixels de côté, et quand je teste sur le mien, j’ai beau compter, cela donne 26,5 × 16 carrés, soit 530 × 320 pixels.

J’ai loupé quelque chose ? (je débute en programmation Android)

Merci :-)

Lien vers le commentaire
Partager sur d’autres sites

Il y a d'une part les pixels physiques qui correspondent aux dimensions physiques des écrans; et il y a les pixels logiques, que manipule plutôt Android, et ce afin d'être indépendant du matériel, afin qu'une application, quel que soit le téléphone sur lequel elle est déployée, ait le même rendu visuel. Ainsi, en fonction de la densité de l'écran, Android s'adaptera pour utiliser plus ou moins de pixels.

Ton Nexus a par exemple une densité de 240dpi, ce qui fait qu'un dessin de 320 pixels de large (on parle de dp pour Android, pour 'device-independant pixel') aura le même aspect sur ton téléphone (ie. prendre toute la largeur de l'écran) que le même dessin sur un téléphone en 160dpi qui ferait 320 pixels physiques de large, ou que sur un autre avec une densité de 120dpi et un écran de 240 pixels de large

Tu trouveras plus d'explications dans la doc developper dans Supporting Multiple Screens

Lien vers le commentaire
Partager sur d’autres sites

Non, il est malgré tout possible de plutôt manipuler des coordonnées physiques, mais c'est au prix de la perte de portabilité de l'appli... Pas une bonne idée à priori ;)

Lien vers le commentaire
Partager sur d’autres sites

Quelque chose de bizarre vient de se passer.

J’ai rajouté la ligne

<uses-sdk android:minSdkVersion="1" android:targetSdkVersion="10"></uses-sdk>

dans le .manifest, et maintenant je manipule bien les 480 × 800 pixels sur l’écran.

Comment cela se fait-il ?

La taille des dp a changé ? Ce sont des pixels physiques que je manipule maintenant ?

Lien vers le commentaire
Partager sur d’autres sites

ajouter a ton fichier manifest :

<supported-screens     android:anyDensity = "true" />

ce petit code va vous permettre d'utiliser la vrai taille de votre écran ( 800x460 ) ,

NB 1: la valeur de android:anyDensity , est par défaut false , c'est pour cela vous avez trouvé que la taille de votre écran est : 533 x 320 px , or que la vrai taille c'est 800x460 ,

NB 2: la balise <supported-screens> est valable pour les versions Android 1.6 et supérieure ,

:) J'espère que je vous ai aidé ,

a bientôt

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