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 :

Faire défiler 3 images avec boutons suivant/précédent


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut Faire défiler 3 images avec boutons suivant/précédent
    Bonjour,

    Voila, je débute sur Android et je voudrai pouvoir changer une image suivant l'appui sur 2 boutons : Suivant / Précédent.

    J'ai vu plusieurs choses sur le net mais rien de concret: une imageview, un array, thread, activity, intent etc ... Du coup je ne sais plus du tout quoi utiliser, j'ai bien mon image qui s'affiche dans un imageview pour l'instant, il me faut donc une méthode pour changer cette image suivant l'appui du bouton.

    Ces 3 images sont enfaite des images de tensions, si on appui sur Suivant on augmente la valeur, si on appui sur précédent on la diminue, il y a 3 images en tout donc 3 tensions.

    Merci d'avance pour votre aide

    Sked

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 354
    Par défaut Réponse possible
    A ta place je passerais par une ArrayList:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    List images = new ArrayList();
    images.add(Image image1);
    ...
    ou:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    List images = new ArrayList();
    images.add(String "chemin_image1");
    et tu choisis l'image par l'index de l'ArrayList que tu incrémente ou décrémente en fonction de l'index utilisé pour l'affichage...

  3. #3
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Par défaut
    Bonjour.

    Pour moi tu devrais aller voir du côté de la Gallery : http://developer.android.com/guide/t...o-gallery.html

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut
    Pour la Gallery je ne pense pas que ca soit interessant dans mon cas il faut que j'ai une seule image affichée à la fois et qu'elle soit remplacée uniquement par l'appui sur le bouton + ou - .
    J'essaie avec les array, je suis toujours ouvert à toute propositions

  5. #5
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 245
    Par défaut
    Tu mets 2 buttons et une imageview.

    Avec un action listener tu changes l'image lors de l'appuie sur les boutons.
    http://developer.android.com/referen...et/Button.html

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 354
    Par défaut
    viish >merci pour le lien...

    Cela dit la classe exemple passe quand même par une indexation des fichiers et parait un peu complexe.

    Créer sa petite classe perso à la main me parait un peu plus accessible même si ça à pas l'air si complexe que ça !

    Bonne journée à tous !

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut
    Je n'arrive toujours pas a faire des boutons suivant / précédent, du coup je passe par 3 boutons, un pour chaque image mais c'est pas le même principe...

    Voila mon code:
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    package com.duic;
     
    import android.app.Activity;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.ImageView;
     
    public class Relax extends Activity implements OnClickListener{
     
    	Button btn5v = null;
    	Button btn10v = null;
    	Button btn15v = null;
    	ImageView imageview;
     
        @Override 
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.relax);
     
            btn5v = (Button)findViewById(R.id.btn5v);
            btn10v = (Button)findViewById(R.id.btn10v);
            btn15v = (Button)findViewById(R.id.btn15v);
            // On spécifie que le le listener est notre classe
            btn5v.setOnClickListener(this);
            btn10v.setOnClickListener(this);
            btn15v.setOnClickListener(this);
        	}
     
    	@Override
    	public void onClick(View v) {
    		if(v == btn5v) {
    			ImageView image = (ImageView) findViewById(R.id.img);
    	        Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.carre1);
    	        image.setImageBitmap(bMap);
    	}	
    		if(v == btn10v) {
    		ImageView image = (ImageView) findViewById(R.id.img);
            Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.carre2);
            image.setImageBitmap(bMap);
    	}
    		if(v == btn15v) {
    			ImageView image = (ImageView) findViewById(R.id.img);
    	        Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.carre3);
    	        image.setImageBitmap(bMap);
    		}
    }
    }
    ca serai plus classe avec 2 boutons au lieu de 3 quand même :p
    voila le 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@drawable/relax">
     
        <RadioButton 
        android:id="@+id/btn5v" 
        android:layout_marginTop="10px"
    	android:layout_marginLeft="10px"
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:text="5V">
        </RadioButton>
     
        <RadioButton 
        android:id="@+id/btn10v" 
        android:layout_marginTop="50px"
    	android:layout_marginRight="18px"
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:text="10V">
        </RadioButton>
     
        <RadioButton 
        android:id="@+id/btn15v" 
        android:layout_marginTop="90px"
    	android:layout_marginRight="18px"
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:text="15V">
        </RadioButton>
     
        <TextView 
        android:text="TextView" 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:id="@+id/textView1">
        </TextView>
     
        <ImageView 
        android:src="@drawable/carre1" 
        android:id="@+id/img" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content">
        </ImageView>
     
    </LinearLayout>
    Si vous avez une solution pour avoir un + et - pour changer les images je suis preneur.
    Merci encore

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    Essaye de faire ça :
    Tu stockes tes identifiants d'images dans un ArrayList<Integer>;
    Tu déclares un entier qui te servira de compteur.
    Et après tu gères le clique comme tu l'as déjà fais

    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
     
    if(v == buttonPred) {
    //Test pour vérifier que le compteur ne descend pas en dessous de zero
      compteur--;
      ImageView image = (ImageView) findViewById(R.id.img);
      Bitmap bMap = BitmapFactory.decodeResource(getResources(), maListDIdentifiants.get(compteur));
      image.setImageBitmap(bMap);
    }	
    if(v == buttonSuiv) {
    //Test pour voir si on ne dépasse pas la taille de la liste
      compteur++;
      ImageView image = (ImageView) findViewById(R.id.img);
      Bitmap bMap = BitmapFactory.decodeResource(getResources(), maListDIdentifiants.get(compteur));
      image.setImageBitmap(bMap);
    }

  9. #9
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Par défaut
    Bonjour.

    Et si tu essaies quelque chose dans ce genre ?

    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
    22
    23
    24
    25
    26
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.relax);
     
            int image = 0;
     
            btnSuivant = (Button)findViewById(R.id.btn5v);
            btnPrecedent = (Button)findViewById(R.id.btn10v);
            // On spécifie que le le listener est notre classe
            btnSuivant .setOnClickListener(this);
            btnPrecedent .setOnClickListener(this);
        	}
     
    	@Override
    	public void onClick(View v) {
    		if(v == btnSuivant ) {
                         image++;
    	        }	
    		if(v == btnPrecedent ) {
                         image--;
    	        }
     
    	ImageView image = (ImageView) findViewById(R.id.img);
    	Bitmap bMap = getImage(image); // A toi de faire la fonction
    	image.setImageBitmap(bMap);
            }

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

Discussions similaires

  1. Faire défiler des images avec des boutons
    Par vanilou dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 27/06/2012, 14h54
  2. Réponses: 3
    Dernier message: 04/08/2010, 10h19
  3. page avec bouton suivant/précédent
    Par gagnier dans le forum Langage
    Réponses: 6
    Dernier message: 07/06/2010, 22h09
  4. Comment faire défiler plusieurs images avec effet de transition
    Par eyango dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/02/2008, 16h33
  5. Réponses: 1
    Dernier message: 11/09/2006, 20h07

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