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 :

ToogleButton à 3 positions


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 18
    Par défaut ToogleButton à 3 positions
    Bonsoir,
    j'ai un problème, j'ai besoin d'un genre de ToggleButton avec 3 positions au lieux de 2 (on / off) mais je me demande si c'est possible de faire ce genre de bouton.
    Qu'en pensez vous?

  2. #2
    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
    A ma connaissance il n'existe pas de boutons à 3 états dans Android...

    Il y a deux façons de le faire:
    Utiliser un "button" classique, et changer son drawable (background) si l'état est indéfini à la main, dans le code, pour chaque bouton.

    Ou alors la façon "hard":
    Créer de toute pièce un state "Undefined" (dans les attributes)
    Et une classe "ThreeStatesButton" qui surcharge onCreateStateSet (ou un truc du genre je me souviens plus) pour utiliser cet état (et probablement stocker un boolean "isUndefined")
    Par la suite, le selector du background du bouton pourra utiliser ce state pour choisir une autre image....

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 18
    Par défaut
    Ah d'accord je vais réfléchir là dessus je pense que je peux y arriver. Seul hic c'est que je crois que les méthodes relatives aux boutons ne sont pas disponibles pour l'API 8 et mon appli doit absolument être compatble avec cet API.
    En fait c'est pour créer un bouton répétition (statu répétition off / répétition piste / répétition tout) dans un lecteur de musique, et ça n'a pas été invienté hier.
    j'ai cherché une autre solution et je suis sur qu'il y a moyen de le faire avec un algorithme "if / else if /else" mais il me manque une méthode en java qui permet de redéfinir le background d'un bouton (avec l'api 8)

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour

    Il existe des implementations pourAndroid pour avoir le même genre de bouton que sous ios (SegementedControl)

    voici un exemple:
    https://github.com/makeramen/android...tedradiobutton
    ou
    http://blog.bookworm.at/2010/10/segm...n-android.html

    Comme le dis nicroman tu peux te créer toi même ton bouton mais le mieux dans ce cas est de passer par la classe RadioButton qui sera plus facile à implémenter que la classe Button.

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 18
    Par défaut
    Ce n'est pas ce que j'avais en tête, en fait c'est comme un seul bouton qui a la base est noir par exemple, ensuite quand on appuie une fois il devient bleu, on rappuie sue ce même bouton il devient vert, et à la troisième fois il redevient noir, et ainsi de suite...

    merci quand même du bouton séquentiel, j'en aurai peut besoin plus tard.

  6. #6
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Ce n'est pas ce que j'avais en tête, en fait c'est comme un seul bouton qui a la base est noir par exemple, ensuite quand on appuie une fois il devient bleu, on rappuie sue ce même bouton il devient vert, et à la troisième fois il redevient noir, et ainsi de suite...
    Dans ce cas par sur un bouton simple que tu personnalises.

    Avec une variable à trois états , et tu dessines la bonne image à chaque click sur le bouton en incrémentant ta variable.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Position du curseur
    Par gimlithedwarf dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/08/2002, 23h45
  2. [XSLT]position d'un element de valeur specifique
    Par squat dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 25/07/2002, 16h42
  3. Position du curseur dans Edit
    Par MrJéjé dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 17h09
  4. Réponses: 2
    Dernier message: 17/05/2002, 20h37
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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