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 :

"Scrollview infinie" contenant des boutons


Sujet :

Composants graphiques Android

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut "Scrollview infinie" contenant des boutons
    Bonjour,

    Je souhaiterais, sur un écran android, faire apparaître des boutons dans ce que j'appellerais une "scrollview infinie". Ce que je voudrais, donc, sur un écran android, avoir plusieurs boutons (disons 8 boutons) que je peux faire défiler, vers le haut ou le bas, mais de manière infinie, contrairement à une scrollview (avec un mécanisme similaire à la "roue" utilisée pour choisir l'heure dans android). Par ailleurs, je souhaiterais que peu importe la position de la scrollview, tous les boutons soient cliquables (pas seulement celui qui est au "centre" de la scrollview) et je souhaiterais pouvoir récupérer la position de chaque bouton.

    Je n'ai pas trouvé d'objet permettant de mettre en place ce comportement, en existe-t-il des standards, et sinon comment pourrais-je mettre en place ce type de mécanisme?

    Merci d'avance pour votre aide!

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Utilise une ListView, avec un Adapter contenant Integer.MAX_VALUE boutons (je ne garantis absolument rien sur l'empreinte mémoire).
    Ca ne sera pas infini, mais pour arriver à faire défiler 2 147 483 647 boutons, il y aura largement le temps, je pense, pour que l'illusion soit bonne.

    Je ne vois pas l'intérêt, par contre. Quel est-il, si ce n'est pas indiscret ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour Hizin,

    J'ai essayé en effet ListView avec Adapter ça donne un effet "comme si" c'était infini, en ajoutant plusieurs fois les boutons. Par contre je ne sais pas récupérer la position du bouton : par exemple si j'ai 3 boutons affichés à l'écran (disons 1 rouge, un vert, un bleu), je voudrais pouvoir cliquer sur le vert, mais aussi savoir quel est le bouton (ici rouge) qui est en haut de l'écran, celui au milieu (le vert) et celui du bas (le bleu).

    Pour info et pour répondre à ta question, je prépare une application de prestidigitation, pour magiciens, et les boutons que je veux afficher correspondent à des cartes à jouer : je souhaite donc afficher par exemple 8 cartes à l'écran, choisir une carte en cliquant dessus, toutes les décaler vers le haut ou le bas en faisant glisser les cartes, mais aussi récupérer la position des 8 cartes (si elles sont disposées de haut en bas, savoir quelle est la 1° carte en partant du haut, la 2°, la 3°...).

    Voilà!

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Ok.
    Ma curiosité te remercie

    Avec ce que je préconise, tu as aussi accès aux boutons connexes. Dans le OnListItemClick, tu as la position du bouton. Avec celle-ci, et l'Adapter, tu peux savoir quel est précédent et le suivant, et par prolongement, quels sont leurs propriétés.
    Tu pourras difficilement savoir "ce qui est affiché" (possible, mais ça demande un peu de calcul), mais tu peux facilement connaître tout ce qu'il y a en jouant avec la position fournie par OnListItemClick.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Ok merci pour ce retour,

    Je vais essayer de voir ce que je peux faire avec le "OnListItemClick", mais comme tu le dis ce dont j'ai besoin c'est plutôt du "ce qui est affiché" (car avec le OnListItemClick, si je reprends l'exemple des 8 cartes affichées l'une en dessous de l'autre dont je te parlais avant, le but est que je puisse par exemple récupérer le nom de la carte en haut de l'écran en cliquant sur n'importe quelle autre des 8 cartes... sans connaître leur position.

    Je vais regarder ; tout dépend de ce que je trouve dans les attributs (est-ce que je peux retrouver la position du bouton "dans la liste complète" ou sa position "dans les éléments de la liste affichés à l'écran").

  6. #6
    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
    La position dans la liste complète, oui: c'est la position reçue lors du onListItemClick
    La première position visible aussi: ListView.getFirstVisiblePosition()

    Si les informations peuvent dériver de la position, c'est tout bon !



    Ensuite, il y a *plein* d'autre moyen de faire....

    Stocker soit même des attributs dans les views lors du Adapter.getView
    (ne serait-ce que le "id" interne qui pourrait très bien être la couleur du bouton)
    setTag permet de le faire facilement par exemple.

    (getTag lors du onListItemClick pour récupérer les informations).

    etc...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Merci à tous les deux pour votre retour.
    En effet nicroman en utilisant juste la méthode getFirstVisiblePosition ça me suffit normalement pour faire tout ce que je veux : je suis en train de faire quelques tests mais pour l'idée globale je crois que j'ai ce qu'il me faut!

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

Discussions similaires

  1. Variable contenant des quotes
    Par Laurinette57 dans le forum SAS Base
    Réponses: 1
    Dernier message: 18/05/2015, 10h26
  2. Réponses: 4
    Dernier message: 06/02/2013, 10h34
  3. Ajouter un contrôle dynamique contenant des boutons
    Par koukoula dans le forum ASP.NET
    Réponses: 4
    Dernier message: 09/06/2008, 11h58

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