2011-06-08 3 views
0

J'ai un RelativeLayoutComment afficher certains ImageView dans un RelativeLayout?

RelativeLayout myLayout = new RelativeLayout(this); 

Puis, j'ajouter 2 ImageView dans cette mise en page:

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(20, 20); 

ImageView img1 = new ImageView(this); 
// Here I give the position of img1 

ImageView img2 = new ImageView(this); 
// And here the position and img2 

myLayout.addView(img1, params); 
myLayout.addView(img2, params); 
setContentView(myLayout); 

Et là, j'ai un problème: je veux montrer et cliquer sur les 2 ImageViews, mais seulement l'img2 est visible sur mon écran.

Y at-il un problème avec l'index z ou autre chose?

+0

pourquoi vous ne le faire via XML? – Egor

+0

J'utilise la bibliothèque svg-android, et apparemment, il ne permet pas d'utiliser ImageViews via un fichier XML .. – Greg

Répondre

3

Étant donné que vous utilisez RelativeLayout et params pour les deux ImageView, l'un sera chevauché avec l'autre. Donc, définissez les paramètres pour les deux. Add rule à chaque param pour le positionner. Et puis donnez addView().

Pour exemple:

RelativeLayout myLayout = new RelativeLayout(this); 

ImageView img1 = new ImageView(this); 
RelativeLayout.LayoutParams firstImageParams = new RelativeLayout.LayoutParams(
android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 
android.view.ViewGroup.LayoutParams.WRAP_CONTENT); 
leftArrowParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 

ImageView img2 = new ImageView(this); 
RelativeLayout.LayoutParams secImageParams = new RelativeLayout.LayoutParams(
android.view.ViewGroup.LayoutParams.WRAP_CONTENT,android.view.ViewGroup.LayoutParams.WRAP_CONTENT); 
rightArrowParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 

myLayout.addView(img1, firstImageParams); 
myLayout.addView(img2, secImageParams); 
setContentView(myLayout); 
+0

Merde, erreur si triste .. Ça marche bien, merci :) – Greg

+0

toujours les bienvenus :) – Mathew

Questions connexes