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 :

[LinearLayout] Redimensionnement image


Sujet :

Android

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [LinearLayout] Redimensionnement image
    Bonjour,

    je voudrais afficher une liste horizontale d'images, cette liste serait scrollable et les images seraient redimensionnées pour avoir la même hauteur.

    actuellement j'ai :
    Code XML : 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
    <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content
        "
        android:layout_height="match_parent"
        tools:context=".MainActivity"
        android:overScrollMode="never" >
     
            <LinearLayout
                android:id="@+id/llPhoto"
                android:layout_width="wrap_content"
                android:layout_height="match_parent" >
     
            </LinearLayout>
     
    </HorizontalScrollView>

    les images sont ajoutées dynamiquement, j'ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    llPhoto = (LinearLayout)findViewById(R.id.llPhoto);
     
    		int[] ids = new int[] {R.raw.rue, R.raw.panorama, R.raw.te};
     
    		ImageView iv;
    		for(int i=0 ; i<ids.length ; i++) {
    			iv = new ImageView(this);
    			iv.setImageDrawable(getResources().getDrawable(ids[i]));
    			iv.setScaleType(ImageView.ScaleType.FIT_XY);
    			iv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
    			llPhoto.addView(iv);
    		}
    Ça ne marche pas, j'ai beaucoup de mal à demander aux images de se redimensionner correctement tout ne gérant la taille des ImageView et du LinearLayout... Actuellement je suis réduis à tâtonner les (très) nombreuses propriétés de ces composants, sachant qu'une modification peut être inefficace à cause d'un autre paramètre dans un autre composant...

    quelqu'un pourrait-il m'aider ? j'ai déjà lu la doc android sur ces composants et ai une petite idée de ce qu'on peut leurs faire faire, mais les interactions entre eux reste trop complexe pour que je puisse résoudre ce problème tout seul. Merci

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java / C++
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java / C++

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Points : 228
    Points
    228
    Par défaut
    Bonjour festif,

    Avez vous regardé du côté des ListView et Adapter? cela me semble plus adapté à ce que vous souhaitez réaliser!

    Voici un exemple d'utilisation.
    Pensez à lire les règles du forum avant de poster.

    Si un poste ou un commentaire vous a été utile, merci de mettre un petit !
    Problème résolu? alors pensez à cliquer sur .
    Si vous avez trouvé la solution tout seul, merci de la poster, ça pourrait aider les suivants!

    Bonjour, s'il vous plaît et merci => ses mots ne coûtent rien, mais ils font toujours plaisirs!

  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
    Difficile de faire cela dans une taille "match_parent", ou le nombre d'images sera fortement limité.

    Je dis cela car le setup est fait par code... si le code ne conserver que la liste de drawables indiqués, autant le faire dans le fichier layout (et éviter le code).


    Sinon, pour scaler il vaut mieux utiliser CENTER_INSIDE non ?
    (ou FIT_CENTER, je n'ai jamais très bien compris la différence entre les deux).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    @Minicalion : Bien qu'ayant déjà utilisé ces composants, je n'ai pas besoin de les rendre cliquable ou autre donc je suis partis sur le même principe qu'une structure statique, mais en ajoutant les View dynamiquement (le code que j'ai mis est relativement simple et peux répondre à ma demande en modifiant les bons attributs, ce sur quoi je bloque justement). une listView avec adapter serait beaucoup plus complexe à mettre en place et je ne pense pas que ça résoudrai mon problème.

    @nicroman : le match_parent est mis en hauteur car je veux que toutes mes images aient la hauteur maximale, sachant que ma vue est horizontale ça ne pose pas de problème. Ce que j'ai posté est un exemple et les id utilisés seront différend selon les cas, d’où l'impossibilité de faire via le fichier XML (Ce qui ne résoudrai probablement pas mon problème d'affichage des images).

    J'ai essayé plusieurs ScaleType mais aucun ne donne des résultats satisfaisants, je pense que le problème vient aussi de la taille de l'ImageView qui empêche l'image de se redimensionner pour occuper tout l'espace verticale (limité par la largeur)

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    après de nombreux tests, j'ai trouvé la solution du problème.
    L'ImageView ne permet pas de redimensionner à la hausse les images, c'est pourquoi ils ne s'affichaient pas correctement. pour ceux que ça intéresse, ma solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    llPhoto = (LinearLayout)findViewById(R.id.llPhoto);
     
    		int[] ids = new int[] {R.raw.rue, R.raw.panorama, R.raw.te};
     
    		ImageView iv;
    		for(int i=0 ; i<ids.length ; i++) {
    			iv = new ImageView(this);
    			iv.setImageResource(ids[i]);
    			iv.setScaleType(ImageView.ScaleType.FIT_CENTER);
    			iv.setAdjustViewBounds(true);
    			iv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
    			llPhoto.addView(iv);
    		}
    Merci à ceux qui ont pris le temps d'apporter une réponse.

Discussions similaires

  1. [FLASH 8] Redimensionner image
    Par arnaud_verlaine dans le forum Flash
    Réponses: 4
    Dernier message: 14/06/2006, 11h43
  2. optimisation redimensionnement image
    Par enguerran dans le forum Graphisme
    Réponses: 12
    Dernier message: 12/05/2006, 03h54
  3. Redimensionner image avant de la charger
    Par nou366 dans le forum Delphi
    Réponses: 2
    Dernier message: 11/05/2006, 13h05
  4. Redimensionner image dans MDI
    Par DEFITOP dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 10/05/2006, 20h02
  5. [MFC - GDI] Redimensionnement Image
    Par Ben A. dans le forum MFC
    Réponses: 3
    Dernier message: 02/02/2006, 11h54

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