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 :

ImageViews ajoutés dynamiquement dans un LL et replacement auto


Sujet :

Composants graphiques Android

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 172
    Points : 70
    Points
    70
    Par défaut ImageViews ajoutés dynamiquement dans un LL et replacement auto
    Bonjour à tous,

    Je suis en train de développer un "genre" de gallerie inApp en ajoutant dynamiquement des photos dans un LinearLayout.

    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
     
    public void fillTheGallery(String[] lesUrls) {
     
    		for (String elmt : lesUrls) {
    			ImageView tempImage = new ImageView(this);
     
    			mImageLoader.get(elmt, ImageLoader.getImageListener(tempImage, 0, 0));
    			mGalleryLayout.addView(tempImage);
     
    			LinearLayout.LayoutParams imgLp = new LinearLayout.LayoutParams(tempImage.getLayoutParams());
    			imgLp.height = 300;
    			imgLp.width = 300;
    			imgLp.setMargins(12, 12, 12, 12);
    			tempImage.setLayoutParams(imgLp);
     
    		}
    	}
    Je m'attendais, dans le cas où il y aurait 9 photos, a ce que les photos se placent les unes apres les autres puis une fois atteint le bord du Layout, passent à la ligne...
    Comme elles l'auraient fait si on etait passé par le .xml

    Malheureusement, ce n'est pas le cas... et les photos se mettent sur une seule et unique ligne la derniere étant coupée par le bord du telephone et les suivantes n'etant donc pas visibles du tout....

    Comment puis je remedier à cela svp?

    J'ai d'abord pensé à faire des layouts "lignes" mais si je choisi de faire un retour ligne toutes les 3 photos admettons...

    Cela me posera soucis sur les differentes tailles d'ecrans des devices Android....

    Des idées svp??

    Merci d'avance !

  2. #2
    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
    GridLayout est le layout que tu cherches.

    LinearLayout est un layout de.. ligne.

    RelativeLayout est un layout ou les éléments sont placés relativement les uns par rapport aux autres.

    FrameLayout est un layout d'encadrement (les éléments s'empilent)



    Mais à mon avis, ce que tu cherches *vraiment* est GridView.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 172
    Points : 70
    Points
    70
    Par défaut
    En fait j'ai résolu mon probleme avec une GridView tout simplement :

    http://developer.android.com/guide/t...l#AdapterViews

    - on créé un adapter custom qui étend le BaseAdapter
    - un petit item_cell.xml

    et il n'y a plus qu'à setter l'adapter...


    EDIT:
    LinearLayout est un layout de.. ligne.
    Oui comme son nom l'indique en effet
    Cependant si les elements places dans un LinearLayout depassent de l'écran ils sont bien placés à la ligne non?

  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
    Non... un LinearLayout place les éléments les uns à coté des autres point barre... sur une et une seule ligne.

    On peut du coup inclure ce LinearLayout dans un ScrollLayout pour permettre à l'utilisateur de "scroller" dans cette ligne.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    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
    Le Linear ne fait aucun calcul, placement ou autre. Il garanti uniquement l'affichage sur une même ligne (ou colonne si vertical).

    La StaggeredGrid d'Etsy pourrait potentiellement t'intéresser.
    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

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 172
    Points : 70
    Points
    70
    Par défaut
    ok, au temps pour moi :s
    merci pour le lien j'y jette un oeil de ce pas

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

Discussions similaires

  1. Ajout dynamique dans un formulaire
    Par artatnas dans le forum IHM
    Réponses: 2
    Dernier message: 24/04/2008, 12h37
  2. ajout dynamique dans Table
    Par lifeisgood dans le forum ASP.NET
    Réponses: 7
    Dernier message: 09/05/2007, 16h20
  3. Ajout dynamique dans une liste <ul>
    Par sacados1 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/03/2007, 20h14
  4. Afficher dernière ligne ajoutée dynamiquement dans un textarea
    Par kingmandrax dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 16/11/2006, 17h54
  5. ajout dynamique dans une listview
    Par k_boy dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 21/09/2006, 11h23

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