Aller au contenu

HorizontalScrollView


Ermal

Recommended Posts

Bonjour tous le monde

 

Je suis un jeune débutant dans la programmation android et j'ai quelque petit problème de compréhension.

 

J'ai faire une galerie photo avec HorizontalScrollView (que j'ai réussi). Par contre, j'ajoute physiquement le nombre de ImageView dans mon HorizontalScrollView et je voudrais, à la place, les créer dynamiquement.

quelqu'un peut me donner un petit coup de main??? :-)

 

Merci

 

Mon Main. :


public class MainActivity extends Activity implements OnClickListener 
{

    private final int[] image = { R.drawable.chrysantheme, R.drawable.desert, R.drawable.hortensias, R.drawable.koala, 
    		R.drawable.manchots, R.drawable.meduses, R.drawable.phare, R.drawable.tulipes};
	
    ImageView imageView1,imageView2,imageView3,imageView4,imageView5,imageView6,imageView7,imageView8, image_principal;
    
	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		
		image_principal = (ImageView)findViewById(R.id.image);
		
		
		imageView1 = (ImageView)findViewById(R.id.imageView1);
		imageView1.setTag(new Integer(1));
		imageView1.setOnClickListener(this);
		
		imageView2 = (ImageView)findViewById(R.id.imageView2);
		imageView2.setTag(new Integer(2));
		imageView2.setOnClickListener(this);
		
		imageView3 = (ImageView)findViewById(R.id.imageView3);
		imageView3.setTag(new Integer(3));
		imageView3.setOnClickListener(this);
		
		imageView4 = (ImageView)findViewById(R.id.imageView4);
		imageView4.setTag(new Integer(4));
		imageView4.setOnClickListener(this);
		
		imageView5 = (ImageView)findViewById(R.id.imageView5);
		imageView5.setTag(new Integer(5));
		imageView5.setOnClickListener(this);
		
		imageView6 = (ImageView)findViewById(R.id.imageView6);
		imageView6.setTag(new Integer(6));
		imageView6.setOnClickListener(this);
		
		imageView7 = (ImageView)findViewById(R.id.imageView7);
		imageView7.setTag(new Integer(7));
		imageView7.setOnClickListener(this);
		
		imageView8 = (ImageView)findViewById(R.id.imageView8);
		imageView8.setTag(new Integer(8));
		imageView8.setOnClickListener(this);
		
	}

	@Override
	public void onClick(View v) 
	{
		int position = ((Integer) v.getTag())-1;
		if(v==imageView1)
		{
            Drawable drawable = getResources().getDrawable(image[position]);
            image_principal.setImageDrawable(drawable);	
		}
		
		if(v==imageView2)
		{
            Drawable drawable = getResources().getDrawable(image[position]);
            image_principal.setImageDrawable(drawable);	
		}
		
		if(v==imageView3)
		{
            Drawable drawable = getResources().getDrawable(image[position]);
            image_principal.setImageDrawable(drawable);	
		}
		
		if(v==imageView4)
		{
            Drawable drawable = getResources().getDrawable(image[position]);
            image_principal.setImageDrawable(drawable);	
		}
		
		if(v==imageView5)
		{
            Drawable drawable = getResources().getDrawable(image[position]);
            image_principal.setImageDrawable(drawable);	
		}
		
		if(v==imageView6)
		{
            Drawable drawable = getResources().getDrawable(image[position]);
            image_principal.setImageDrawable(drawable);	
		}
		
		if(v==imageView7)
		{
            Drawable drawable = getResources().getDrawable(image[position]);
            image_principal.setImageDrawable(drawable);	
		}
		
		if(v==imageView8)
		{
            Drawable drawable = getResources().getDrawable(image[position]);
            image_principal.setImageDrawable(drawable);	
		}
	}


}

Lien vers le commentaire
Partager sur d’autres sites

Il te suffit d'instancier autant de ImageView que tu as besoin, et de les ajouter dans le LinearLayout que tu as mis dans ton HorizontalScrollView

Quelque chose comme ça:

  LinearLayout monLinearLayout = (LinearLayout)findViewById(R.id.id_de_monLinearLayout);
 
  LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
 
 ImageView iv = new ImageView(this);
 monLinearLayout.addView(iv, params);
Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...