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 :

Gallerie avec un GridView


Sujet :

Android

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut Gallerie avec un GridView
    Bonjour,

    J'ai une Activité qui m'affiche des images dans un GridView. J'aimerais lorsque je clique sur une image qu'elle s'affiche en grand (donc une autre activité ?) et que je puisse slider entre mes différentes images du gridview.

    Vers quelles ressources dois-je regarder ?

    Merci

  2. #2
    Expert éminent

    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
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    J'ai du mal à saisir.

    1 / Tu veux pouvoir ouvrir en grand l'image sélectionné dans ta gridView

    2/ Suite à cette ouverture avoir une galleryView ou les viewPager ensuite à partir de l'image sélectionné .
    http://developer.android.com/referen...t/Gallery.html

    C'est ça ?

    Tu peux t'intéresser au fragment pour la gestion des passages entre ressources.

    http://developer.android.com/trainin...agment-ui.html
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut
    J'ai opter pour les ViewPager (voir code ci-dessous).

    Je récupère ma liste de liens des images dans mon ArrayList list_image. Cependant j'ai un problème. Je clique sur n'importe quel image c'est la première qui apparait. Comment récupérer la position courante ?

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    public class SwiperActivity extends Activity {
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		requestWindowFeature(Window.FEATURE_NO_TITLE);
    		setContentView(R.layout.swiper);
     
    		ArrayList<HashMap<String, String>> list_image = (ArrayList<HashMap<String, String>>) getIntent()
    				.getSerializableExtra("arraylist");
     
    		ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
    		ImagePagerAdapter adapter = new ImagePagerAdapter(this, this,
    				list_image);
    		viewPager.setAdapter(adapter);
     
    		Button termine = (Button) findViewById(R.id.termine);
    		termine.setOnClickListener(new OnClickListener() {
    			public void onClick(View arg0) {
     
    				SwiperActivity.this.finish();
    			}
    		});
    	}
     
    	private class ImagePagerAdapter extends PagerAdapter {
     
    		ArrayList<HashMap<String, String>> mylist;
    		private Context mContext;
    		public Activity activite;
    		public ImageLoader imageLoader;
     
    		public ImagePagerAdapter(Context c, Activity a,
    				ArrayList<HashMap<String, String>> list) {
    			this.mContext = c;
    			this.activite = a;
    			this.mylist = list;
    			imageLoader = new ImageLoader(activite.getApplicationContext());
    		}
     
    		@Override
    		public int getCount() {
    			return mylist.size();
    		}
     
     
     
    		public boolean isViewFromObject(View view, Object object) {
    			return view == ((ImageView) object);
    		}
     
    		public Object instantiateItem(ViewGroup container, int position) {
    			Context context = SwiperActivity.this;
    			ImageView imageView = new ImageView(context);
     
    			DisplayMetrics displaymetrics = new DisplayMetrics();
    	    	activite.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
    			int win_width = displaymetrics.widthPixels;
    			imageView.setPadding(5,5,5,5);
    			imageView.setMinimumWidth(win_width);
    		//	imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
    			imageLoader.DisplayImage(mylist.get(position).get("high")
    					.toString(), activite, imageView, 2);
    			((ViewPager) container).addView(imageView, 0);
    			return imageView;
    		}
     
    		public void destroyItem(ViewGroup container, int position, Object object) {
    			((ViewPager) container).removeView((ImageView) object);
    		}
    	}
    }

  4. #4
    Expert éminent

    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
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Il faut également que tu passes à ta ViewPager l'élément courant de ta liste.

    Suite à ce passage depuis ton Bundle tu pourras ensuite mettre à jour ta liste sur l'élément sélectionne par cette fonction setCurrentItem(int item):

    http://developer.android.com/referen...rrentItem(int)

    soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int element = getIntent()._selectgetIntExtra("select_item");
    viewPager.setAdapter(adapter);
    viewPager.setCurrentItem(element_select);
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut
    Merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/04/2009, 04h27
  2. Problème de pagination avec un GridView
    Par Perceuse-Killer dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/02/2007, 13h30
  3. Delete ne fonctionne pas avec mon gridview
    Par NicoNGRI dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/10/2006, 08h52
  4. Réponses: 1
    Dernier message: 27/09/2006, 09h28
  5. [C#] Comment gérer la pagination avec un GridView ?
    Par appwnet dans le forum ASP.NET
    Réponses: 5
    Dernier message: 05/05/2006, 13h47

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