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 :

ScrollView horizontal et vertical


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Points : 71
    Points
    71
    Par défaut ScrollView horizontal et vertical
    Bonsoir,
    Je souhaite afficher au sein de mon application un simple tableau avec 4 colonnes et plusieurs lignes. je n'ai pas pu afficher la totalité de mon tableau , donc je souhaite ajouter une scroll dans les deux sens : horinzontal et vertical.

    J'ai ajouté a mon fichier XML une ScrollView verticale:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView  xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" >
        <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" 
        android:scrollbars="vertical"  >
     
        <ListView
        </ListView>
     
        </LinearLayout>
    </ScrollView>
    Mais l'affichage constitue seulement une ligne , et le reste est vide.
    par exemple, j'ai un un tableau de 5 lignes, le scroll ne m'affiche que le premier ligne.
    Ma question:
    - Comment je peux agrandir le ScrollView verticalement pour qu'il s'occupe la totalité de l’émulateur??
    - Comment je peux combiner le ScrollView dans les deux sens??

    Merci

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 87
    Points : 65
    Points
    65
    Par défaut
    A vérifier, mais je ne pense pas que tu puisses construire des éléments en dehors de ton Layout principal.

    Essaie donc dans cette ordre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <LinearLayout>
    <ScrollView>
    </ScrollView>
    </LinearLayout>

  3. #3
    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
    Un scroll-view permet juste de scroller un élément plus large que le scroll-view lui même...

    Donc non, c'est bien le bon ordre:

    ScrollView
    -- LinearLayout
    ----- ...

    Par contre, si le ScrollView fait bien un "match_parent" dans les deux sens, il faut que le layout en dessous soit "plus grand"...

    Plutôt que de passer par une list-view, j'utiliserai une table-view en ce qui me concerne... L’intérêt de la list-view est justement de scroller un grand nombre d'items et de les afficher/cacher à la demande.

    ScrollView (w=match_parent,h=match_parent)
    -- TableView (w=match_content, h=match_content)
    ----- TableRow (w=match_content h=match_content)
    ------ x N
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  4. #4
    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
    Citation Envoyé par remy67 Voir le message
    A vérifier, mais je ne pense pas que tu puisses construire des éléments en dehors de ton Layout principal.
    Si si, le fait que la plupart des layout soient des LinearLayout est un fait, mais ca pourrait être n'importe quel ViewGroup je crois.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Points : 71
    Points
    71
    Par défaut
    Bonsoir,
    Citation Envoyé par nicroman Voir le message

    Par contre, si le ScrollView fait bien un "match_parent" dans les deux sens, il faut que le layout en dessous soit "plus grand"...
    merci pour ta repense Nicolas.
    Je n’était pas au courant.

    Même si je fait ce que vous m'avez demandé, la résultat reste la meme.
    Mon fichier XML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
     
       <LinearLayout
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:orientation="vertical"
       android:scrollbars="vertical">
     
         <ListView
         android:id="@+id/listView1"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent" >
         </ListView>
     
      </LinearLayout>
    </ScrollView>
    ScrollView (w=wrap_content,h=wrap_content)
    -- LinerLayout (w=fill_parent, h=fill_parent)
    ???????

    -Fill_parent est l'équivalent de match_parent en API7
    Quelle est l'équivalent de match_content en API7???
    -Je pense qu'il n'existe que wrap_content et fill_parent????

  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
    Oui oui, mais je regardes pas eclipse quand je réponds... et entre wrap_content/fill_content/match_content....

    Bon bref....

    Là tu dis au scrollview d’être de la taille du contenu, donc il n'aura jamais rien à scroller !
    Dedans, le layout est un fill_parent => donc ca va finir par la taille de l'écran.
    Dedans le ListView est aussi un fill_parent= > pareil... ListView de tout l'écran.

    Il faut faire l'inverse:
    Le "ScrollView" est à la taille de l'écran
    Le contenu est plus large (donc en wrap_content)... => scrolling horizontal
    Le contenu est plus haut (en wrap-content)... => scrolling vertical

    Maintenant il y a une list-view, qui par définition s'adapte à la taille disponible => tu n'auras jamais de scrolling vertical... (sauf dans la list-view).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par nicroman Voir le message
    Par contre, si le ScrollView fait bien un "match_parent" dans les deux sens, il faut que le layout en dessous soit "plus grand"...
    j'ai augmenté la hauteur(dimension) de listVeiw par préciser la valeur exacte en nombre(dp, px..), et ça marche bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
     
       <LinearLayout
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:orientation="vertical"
           android:scrollbars="vertical" >
         <ListView
             android:id="@+id/listView1"
             android:layout_width="fill_parent"
             android:layout_height="400dp" >
         </ListView>
     
      </LinearLayout>
    </ScrollView>
    je passe le sujet en résolu

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par nicroman Voir le message
    Il faut faire l'inverse:
    Le "ScrollView" est à la taille de l'écran
    Le contenu est plus large (donc en wrap_content)... => scrolling horizontal
    Le contenu est plus haut (en wrap-content)... => scrolling vertical
    Merci Nicolas pour ta réponse.

    Désolé, je n'ai pas vu ta réponse avant d'écrire mon dernier message.

    Bien sur, je vais essayé d'appliquer ces points.

    Merci encore

  9. #9
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2019
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    certains widget autorisent déjà le scroll. C’est par exemple le cas d’une ListView. C’est une liste qui contient par défaut du texte et si vous rajouter beaucoup de texte et que ça dépasse la taille de l’écran vous allez, déjà de base, pouvoir scroller sur cette liste pour faire défiler le texte. Ainsi, si vous mettez une ListView à l’intérieur d’un ScrollView, il y aura un conflit entre les deux fonctionnalités qui permettent de scroller.

    Android studio vous mettra probablement pas d’erreur mais quand vous testerez votre application ça fera des choses bizarres et ça ne marchera plus donc sachez que vous n’avez pas le droit de mettre un élément qui autorise le scroll à l’intérieur d’un Scrollview.

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

Discussions similaires

  1. Centrage horizontal et vertical dans tous les onglets
    Par bibvba dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/04/2008, 10h30
  2. Menu Horizontal et vertical encadrés
    Par vg-matrix dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 08/10/2007, 09h20
  3. [JScrollPane] Pb défilement horizontal et vertical
    Par rems033 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 03/07/2007, 17h11
  4. ascenceur barre horizontal et vertical
    Par kanea_iza dans le forum Windows
    Réponses: 2
    Dernier message: 16/05/2007, 10h17
  5. Colonne horizontal vers vertical
    Par rvzip64 dans le forum Requêtes
    Réponses: 10
    Dernier message: 21/08/2006, 09h45

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