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

Composants graphiques Android Discussion :

Paramétrer un Spinner


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2015
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2015
    Messages : 185
    Par défaut Paramétrer un Spinner
    Bonjour à tous !

    Je suis en phase finale de programmation d'une application et je bloque sur un détail.
    J'ai créé une activité qui contient plusieurs spinners. Ces derniers sont déclarés dans le layout en xml. La liste à afficher est déclarée aussi dans le layout avec "android:entries" qui pointe vers un "Array" dans mon ficher "strings.xml".
    Ce que je ne comprends pas c'est que les attributs "android:textSize" et "android:layout_width" n'ont aucune action sur le spinner. Le texte ne change pas de taille et la largeur s'ajuste sur la taille du texte au lieu de prendre la valeur que je veux lui définir.

    Du coup, j'aurais voulu savoir comment paramétrer un spinner en xml ?
    J'ai vu qu'on peut aussi paramétrer la liste déroulante, peut-on le faire en xml et comment ?

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    C'est parce que l'apparence de chaque item du spinner est défini par défaut dans android.R.layout.simple_spinner_item. Cela ne se règle pas au niveau du layout qui contient le spinner donc. Pour appliquer ton propre layout custom au spinner, pas le choix, il faut passer par un Adapter (100% programmation).

    A noter que l'apparence d'un spinner repose également sur un autre layout : le dropDown layout (android.R.layout.simple_spinner_dropdown_item par défaut), qui définit l'esthétique lorsque l'on déroule le menu
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2015
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2015
    Messages : 185
    Par défaut
    Ok merci.
    Mais du coup ça devient compliqué si je veux que mon spinner et son contenu changent de dimensions en fonction des dimensions de l'écran et de son orientation ?!

  4. #4
    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
    En fait nul besoin de programmation.

    Il faut faire un layout indépendant pour les items (par défaut un simple TextView avec comme identifiant: android:id/text1 je crois). Que tu adaptes à ta sauce.
    Ensuite dire au Spinner d'utiliser ce layout pour l'item affiché (itemLayout), et le même (ou un autre) pour les items affichés quand il est ouvert (dropDownLayout).

    Je ne vois pas trop pourquoi le contenu changerait de dimension ceci-dit... mais bon pourquoi pas.
    Si c'est une histoire de textSize, il vaut mieux passer par une "valeur" qui dépendra de la taille de l'écran etc... plutôt que par un layout par taille d'écran.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2015
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2015
    Messages : 185
    Par défaut
    Merci pour ces infos, je vais creuser ça et je vous dis...

Discussions similaires

  1. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 16h11
  2. [xmlrad] Pb de paramètre ?
    Par Pm dans le forum XMLRAD
    Réponses: 7
    Dernier message: 07/01/2003, 14h37
  3. [SWT] Problème de paramètre GridData
    Par yolepro dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 06/12/2002, 10h37
  4. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47
  5. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24

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