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 :

adapter le texteSize et layout_height aux différentes resolutions


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 40
    Par défaut adapter le texteSize et layout_height aux différentes resolutions
    bonjour je cherche comment adapter textSize aux différentes résolutions des smartphones,
    exemple si je le fixe a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     android:textSize="14dp"
    j'aurais une bonne visibilité dur un téléphone de résolution 240*320 px par contre pour un téléphone de résolution 700*1280 px qui est le galaxy S3 on voit pratiquement pas le texte.

    de meme pour les images comment on peut donner une valeur a la hauteur des images
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     android:layout_height=""
    je les ai toutes essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     android:layout_height="wrap_content"
     android:layout_height="fill_parent"
     android:layout_height="match_parent"
    et le résultat : affichage normal pour certaines résolutions et les autres on voit des images déformées et j'ai trouvé une solution est de fixer la hauteur a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
              android:layout_height="100dip"
    mais le problème est que dans les petits téléphones on voit quelques unes et les autres non puisque la hauteur est fixe.

    voila y'a t'il parmi vous quelqu'un qui a déjà rencontrer ce problème

    merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 476
    Par défaut
    Déjà, pour les polices d'écriture, on utilise "sp" et pas "dp".
    Sinon, tu as un fichier dimens.xml dans le dossier values. Crée un autre dimens.xml mais dans les dossiers values-sw600dp et values-sw720dp, et change simplement la valeur pour chaque identifiant.

    Exemple
    dans dimens.xml de values
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <dimen name="myTextSize">14sp</dimen>
    dans dimens.xml de values-sw600dp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <dimen name="myTextSize">16sp</dimen>
    dans dimens.xml de values-sw720dp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <dimen name="myTextSize">20sp</dimen>
    et dans ton layout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     android:textSize="@dimens/myTextSize"
    L'appli choisira alors la taille de ta police en fonction de l'appareil dans lequel elle se trouve

  3. #3
    Expert confirmé

    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
    Billets dans le blog
    3
    Par défaut
    Effectivement les unités pour le texte sont en général "sp" (qui prend en compte le choix de l'utilisateur concernant la taille de police).

    Maintenant, 12dp = .... 12dp quel que soit le téléphone, soit environ... 0.075 pouces.... 2mm quoi !
    Il me semble que cette taille soit très petite (et encore une fois, quel que soit le téléphone !). La taille moyenne d'un texte est (si mes souvenirs sont bons) 14sp ...
    https://www.google.com/design/spec/s...hy-line-height


    En ce qui concerne une image, *toutes* les images ont intrinsèquement une taille en "dp".

    Il y a plusieurs manières d'insérer des images dans une UI.
    Ou bien les images ont une taille "fixe" (elles sont proposées par l'application) dans ce cas elles ont une taille en "dp", et l'ImageView peut tout à fait utiliser cette taille. L'application peut fournir des images précalculées pour chaque résolution (mais la taille en "dp" de l'image ne varie pas).

    Ou bien on ne connait pas à l'avance la taille des images, dans ce cas, l'UI "prépare" une ImageView à taille fixe, et, lors de la lecture de l'image, on adapte cette lecture pour ne conserver que la résolution nécessaire.
    Là encore, bien spécifier un "center" dans l'ImageView:
    http://developer.android.com/referen...roid:scaleType

  4. #4
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 40
    Par défaut
    bonjour merci pour vos réponses
    j'ai eu un problème en insérons la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      android:textSize="@dimens:mytextsize"
    j'ai eu cette erreur affichée dans ma console au pourtant dans mes fichiers dimens.xml j'ai rajouté la commande qu'il faut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       <dimen name="mytextsize">14sp</dimen>
    Error: No resource type specified (at 'textSize' with value '@dimens:mytextsize').
    a votre avis c quoi le probleme?

  5. #5
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 40
    Par défaut
    par contre j'ai un autre problème , l'application se bloque une fois je clique sur l'activité ou j'ai inséré ma commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     android:textSize="@+dimens/mytextesize"
    j'ai pensé qu'on va rajouter une permission dans le fichier manifest.xml mais ce n’était pas ça

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 476
    Par défaut
    La commande est pourtant claire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:textSize="@dimens/myTextSize"
    Donc pas avec ':' comme là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:textSize="@dimens:myTextSize"
    ni avec un +
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:textSize="@+dimens/myTextSize"

  7. #7
    Membre Expert
    Avatar de MathiasSeguy
    Homme Profil pro
    Fondateur Android2EE - Formation Expertise Android
    Inscrit en
    Avril 2011
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fondateur Android2EE - Formation Expertise Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 185
    Billets dans le blog
    6
    Par défaut
    Euh, c'est n'importe quoi.
    Justement, le sp, c'est fait pour ça !!!
    Par défaut 14sp c'est petit, 18sp c'est normal et 22 c'est gros.
    Mais le mieux c'est d'aller lire :
    https://www.google.com/design/spec/s...ypography.html
    et ça: http://stackoverflow.com/questions/5...ize-on-android
    On utilise beaucoup:
    Large TextView {android:textAppearance="?android:attr/textAppearanceLarge"}
    Medium TextView {android:textAppearance="?android:attr/textAppearanceMedium"}
    Small TextView { android:textAppearance="?android:attr/textAppearanceSmall"}



    Citation Envoyé par Turvy Voir le message
    Déjà, pour les polices d'écriture, on utilise "sp" et pas "dp".
    Sinon, tu as un fichier dimens.xml dans le dossier values. Crée un autre dimens.xml mais dans les dossiers values-sw600dp et values-sw720dp, et change simplement la valeur pour chaque identifiant.

    Exemple
    dans dimens.xml de values
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <dimen name="myTextSize">14sp</dimen>
    dans dimens.xml de values-sw600dp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <dimen name="myTextSize">16sp</dimen>
    dans dimens.xml de values-sw720dp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <dimen name="myTextSize">20sp</dimen>
    et dans ton layout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     android:textSize="@dimens/myTextSize"
    L'appli choisira alors la taille de ta police en fonction de l'appareil dans lequel elle se trouve

Discussions similaires

  1. Adapter un Form aux différentes résolutions d'écran
    Par pjtuloup dans le forum C++Builder
    Réponses: 8
    Dernier message: 21/06/2011, 10h23
  2. Réponses: 2
    Dernier message: 05/08/2009, 14h30
  3. Adaptation d'un menu déroulant aux différentes résolutions
    Par pulsefight dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 15/10/2008, 17h56
  4. comment adapter site aux différentes résolutions encore un
    Par mexicanino dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 02/10/2008, 12h15
  5. comment adapter site aux différentes résolutions
    Par Invité(e) dans le forum Mise en page CSS
    Réponses: 33
    Dernier message: 02/10/2008, 00h13

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