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 :

ListView qui s'adapte à son contenu ?


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut ListView qui s'adapte à son contenu ?
    Salut,

    Dans un LinearLayout, j'ai entre autres un ListView, qui a un adapter personnalisé (disons MyCustomAdapter).

    Dans cet adapter, je peux ajouter ou supprimer des éléments, et j'appelle notifyDataSetChanged() (hérité de BaseAdapter). La liste est bien notifiée, elle se met à jour.

    Par contre, sa hauteur ne change pas, à la place, elle utilise un scroll. Moi je voudrais que ma liste fasse toujours exactement la taille de son contenu, sans scroll.

    J'ai bien sûr défini son layout_height comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:layout_height="wrap_content"
    Merci de votre aide.

    EDIT: j'ai essayé d'appliquer cette propriété sur la ListView, sans succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:isScrollContainer="false"

  2. #2
    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,


    Par contre, sa hauteur ne change pas, à la place, elle utilise un scroll. Moi je voudrais que ma liste fasse toujours exactement la taille de son contenu, sans scroll.
    Pour résumer tu aimerais avoir une liste qui affichent tout ses élements sur la même page, donc sans scroll ?

    Car là je ne visualise pas...

  3. #3
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    Bonjour,




    Pour résumer tu aimerais avoir une liste qui affichent tout ses élements sur la même page, donc sans scroll ?

    Car là je ne visualise pas...
    La liste n'est qu'une partie de la page.
    Si tu veux, j'ai au plus haut niveau une ScrollView, qui contient des LinearLayout, contenant plein de choses (des TextView, des EditText, des ListView...).
    // oui, c'est pas top niveau ergonomie, mais l'appli que j'ai récupérée était comme ça

    Et dans le cas d'une ListView, je voudrais qu'elle prenne toute la place dont elle a besoin (le niveau le plus haut est scrollable de toute façon). Je ne veux pas qu'elle gère elle-même un scroll supplémentaire interne.

  4. #4
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Une image pour mieux comprendre :

  5. #5
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Salut,

    Donc si je comprend bien, tu veux faire une liste non scrollable qui affiche tous tes éléments d'un coup ?
    Dans ce cas là pourquoi utiliser une ListView ?
    Le composant permet, en dehors d'afficher une liste, d'optimiser les ressources (mémoire et CPU) du téléphone en évitant de créer trop d'instance de composants graphiques à la fois.
    Si tu as besoin de tout afficher, autant passer directement par un LinerLayout par exemple et d'y mettre tous tes composants enfants d'un coup, non ?

    Si tu as le droit de modifier un peu l'ergonomie, est ce qu'il ne serait pas plus simple d'avoir un premier bouton "select species" qui t'afficherai une popup contenant ta liste (avec son scroll naturel) ?

  6. #6
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par MrDuChnok Voir le message
    Salut,

    Donc si je comprend bien, tu veux faire une liste non scrollable qui affiche tous tes éléments d'un coup ?
    Dans ce cas là pourquoi utiliser une ListView ?
    Le composant permet, en dehors d'afficher une liste, d'optimiser les ressources (mémoire et CPU) du téléphone en évitant de créer trop d'instance de composants graphiques à la fois.
    Si tu as besoin de tout afficher, autant passer directement par un LinerLayout par exemple et d'y mettre tous tes composants enfants d'un coup, non ?

    Si tu as le droit de modifier un peu l'ergonomie, est ce qu'il ne serait pas plus simple d'avoir un premier bouton "select species" qui t'afficherai une popup contenant ta liste (avec son scroll naturel) ?
    En fait c'est une liste dynamique (le titre devrait plutôt être "selected species" et non "select species"), on peut en rajouter en cliquant sur "add photo" (qui devrait s'appeler aussi "add species", je n'ai pas modifié le texte encore), qui ouvre une nouvelle activité où on choisit une espèce qu'on associe à une photo (de la gallerie ou de l'appareil photo).

    Et si on clique longtemps sur un élément de la liste, on peut le supprimer (un menu contextuel s'ouvre avec un bouton "delete").

    C'est vraiment le principe d'une liste avec ses renderers et son adapter, sauf que je n'ai pas besoin du "recyclage" des renderers ni de l'économie des ressources (c'est une petite liste), je veux afficher tous les éléments que l'utilisateur a sélectionnés.

    Je cherche donc simplement à supprimer ce scroll et à ce que la liste s'adapte à son contenu.

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/12/2014, 09h32
  2. Réponses: 4
    Dernier message: 10/06/2009, 12h12

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