Как отобразить некоторые ImageView в RelativeLayout? - PullRequest
0 голосов
/ 08 июня 2011

У меня есть RelativeLayout

RelativeLayout myLayout = new RelativeLayout(this);

Затем я добавляю 2 ImageView в этот макет:

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);

И вот у меня проблема: я хочу показать и нажать на2 ImageViews, но на моем экране виден только img2.

Есть ли проблема с z-index или чем-то еще?

1 Ответ

3 голосов
/ 08 июня 2011

Поскольку вы используете RelativeLayout и один и тот же params для обоих ImageView, один будет перекрываться с другим. Так что определите параметры для обоих. Add rule каждому параметру для его позиционирования. А потом дать addView().

Например:

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);
...