Fractal Posté(e) 30 mars 2011 Share Posté(e) 30 mars 2011 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 More sharing options...
chpil Posté(e) 30 mars 2011 Share Posté(e) 30 mars 2011 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 More sharing options...
Fractal Posté(e) 30 mars 2011 Auteur Share Posté(e) 30 mars 2011 D’accord, merci ! :-) Et donc le fait qu’il y ait 800 × 480 pixels, je peux l’oublier vu que je ne pourrai manipuler de toute façon que des dp ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 30 mars 2011 Share Posté(e) 30 mars 2011 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 More sharing options...
Fractal Posté(e) 2 avril 2011 Auteur Share Posté(e) 2 avril 2011 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 More sharing options...
chpil Posté(e) 4 avril 2011 Share Posté(e) 4 avril 2011 Oui, cela a une influence, car avant la 1.6, il n'y avait pas de supports des multiples résolutions des écrans... Lien vers le commentaire Partager sur d’autres sites More sharing options...
hocinao Posté(e) 5 avril 2011 Share Posté(e) 5 avril 2011 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 More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.