IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème de comprehension de l'adaptation des tailles pour application Android


Sujet :

Android

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème de comprehension de l'adaptation des tailles pour application Android
    Bonjour,

    je suis désole si ce sujet vous donne l'impression de revenir très souvent mais j'ai beau avoir chercher il y a des points que je n'arrive vraiment pas à comprendre même malgré la java-doc, et Google.

    Je sais bien que pour pouvoir adapter ses vues aux tablettes ou aux petits écrans il faut crée 4 Layout différents que j'ai nommé layout-small layout-normal layout-large et layout-Xlarge et j'ai aussi mis chacune de mes photo en 4 dimensions *1, *1.5, *2, *3 dans les dossier ldpi mdpi xhdpi et xxhdpi. Cependant (et on en arrive a mon problème ) j'ai lu que les dimension hdpi, xhdpi etc...était en fonction de la densité de pixel et non en fonction de la taille de l'écran, du coup nous il est possible d'avoir des tablettes de taille très grandes (10 pouces par exemple ) mais de dimensions mdpi, ma question est la suivante si la grande tablette est de dimensions mdpi l'application vas donc chercher dans le dossier drawable-mdpi et donc prendre la photo de petite taille, alors que sur tablette il me faudrait celle de grande taille ??? je dois vous avouer que j'ai beaucoup de mal a comprendre ce principe (dont celui de densité de pixel justement ) donc si on peux m'éclairer sur ce point ce serais très sympa.

    Autre question un peu liée avec tout ce que j'ai fait pour crée ma vue layout-Xlarge j'ai du modifier la taille de mes images en disant par exemple que l'image doit faire 150dp par 150dp es-ce mal codée ?? (parce que justement si la tablette est grande mais que c'est une de dimension mdpi il iras me chercher une toute petite image ... donc cette question me ramène a la précédente )

    Merci beaucoup

    Et désole si en faite je dis n'importe quoi mais en vrai je dois vous avouez que la je suis un peu perdu.

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Non pas du tout....


    Sur android, les mesures sont faites en "dp" (ou "sp" voir plus bas).

    On peut dire que "grosso-merdo" 160dp = 1 pouce = 2,54 cm
    D'ailleurs la notion de small / normal / large / x-large dépend de la taille en "DP" de l'écran (et non de la taille physique ou en pixels).
    Au passage, il est désormais recommandé d'utiliser "sw600dp" pour choisir un layout, plutôt que "large" par exemple.

    Bon revenons à nos moutons ... donc tout se passe pour les layouts en "dp".
    Les "sp" sont des "dp" redimensionnés pour prendre en compte le choix de l'utilisateur quant à la taille du texte (outils d'accessibilité).
    Pour plus d'information sur les unités, j'avais fait un tuto il y a très longtemps (il manque deux trois trucs nouveaux, mais les principes de base restent inchangés):
    http://nicroman.developpez.com/tutor...nites-mesures/


    Voilà... on a un écran "large" (qui fait donc 480dp x 680dp min. ), on peut utiliser la place pour l'interface, en "dp". Et ce quelque soit la résolution de l'écran on est bien d'accord.

    Maintenant, j'ai un "drawable"... Un drawable a aussi une taille en "dp".
    Dans le cas d'une bitmap (ou image) la relation "dp" <=> "pixels" dépend du folder dans lequel la bitmap est collée:*
    "ldpi" => 3 pixels = 4 dp
    "mdpi" => 1 pixel = 1 dp
    "hdpi" => 3 pixels = 2 dp
    "xhdpi" => 2 pixels = 1 dp
    "xxhdpi" => 3 pixels = 1 dp

    Donc, imaginons que je colle une image de 64x64 pixels dans "mdpi", elle devra être de 48x48 dans "ldpi", 96x96 dans "hdpi", 128x128 dans "xhdpi" et 192x192 dans "xxhdpi".
    Cette image fera 64x64dp (sans redimensionnement).

    Si on colle une ImageView dans notre layout, l'image fera 64x64dp.


    Ensuite, quelque soit la résolution de la dalle, celle-ci sera l'une des 5 précitées, et le système se chargera d'aller chercher la bonne image, pour qu'il n'y ait pas de redimensionnement de celle-ci.


    Bref, tout ça pour dire, il faut oublier les pixels...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Discussions similaires

  1. Adaptation des axes pour les graphiques Python - Matplotlib
    Par paulguillou dans le forum Général Python
    Réponses: 10
    Dernier message: 08/06/2015, 22h29
  2. adaptation web proxy pour application windows
    Par gandoura dans le forum VB.NET
    Réponses: 0
    Dernier message: 08/02/2010, 14h10
  3. Typage des méthodes pour application externe
    Par maniolo dans le forum Services Web
    Réponses: 3
    Dernier message: 03/07/2009, 10h53
  4. Réponses: 2
    Dernier message: 09/01/2009, 19h12
  5. Outil pour simuler des connexions pour application web
    Par lehic dans le forum Tests et Performance
    Réponses: 4
    Dernier message: 14/06/2006, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo