2014-02-10 4 views
0

Мне нужно накладывать изображения одним изображением другим. Ниже мой кодНевозможно перекрывать изображения

int cards[] = {R.drawable.c1,R.drawable.c2,R.drawable.c3,R.drawable.c4,R.drawable.c5,R.drawable.c6, 
      R.drawable.c7,R.drawable.c8,R.drawable.c9,R.drawable.c10,R.drawable.c11,R.drawable.c12,R.drawable.c13}; 

    ImageView[] Images = new ImageView[cards.length]; 
     for (int i = 0; i < cards.length; i++) {   
      Images[i] = new ImageView(this); 

      Images[i].setImageBitmap(BitmapFactory.decodeResource(getResources(), cards[i])); 
      Images[i].setId(i); 
      RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.WRAP_CONTENT, 
        RelativeLayout.LayoutParams.WRAP_CONTENT); 
      if (i != 0) {     
       params.addRule(RelativeLayout.RIGHT_OF,Images[i - 1].getId()); 
       params.addRule(RelativeLayout.ALIGN_PARENT_TOP, Images[i - 1].getId()); 
       layout.addView(Images[i], params); 
      } else { 
       params.addRule(RelativeLayout.LEFT_OF,Images[0].getId()); 
       params.rightMargin=10; 
       layout.addView(Images[i]); 
      } 

     } 

С этим я не в состоянии отобразить первое изображение и остальные изображения отображаются, но не перекрываются с другими изображениями. Как это исправить?

+0

загрузки один оснастке плз –

ответ

0

Наконец смог решить проблему с помощью этого link

ImageView[] Images = new ImageView[cards.length]; 
     for (int i = 0; i < cards.length; i++) {   
      Images[i] = new ImageView(this); 

      RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.WRAP_CONTENT, 
        RelativeLayout.LayoutParams.WRAP_CONTENT); 
      if (i != 0) {   
       params.addRule(RelativeLayout.ALIGN_TOP, i-1); 
       params.addRule(RelativeLayout.ALIGN_LEFT,i-1); 
       params.leftMargin= 40; 
       Images[i].setImageBitmap(BitmapFactory.decodeResource(getResources(), cards[i])); 
       Images[i].setId(i); 
       layout.addView(Images[i], params); 
      } else { 
       Images[i].setImageBitmap(BitmapFactory.decodeResource(getResources(), cards[i])); 
       Images[i].setId(i); 
       layout.addView(Images[i], params); 
      } 

     } 
-1

Код совершенно не прав :) Знаете ли вы, что означает RIGHT_OF и LEFT_OF? просто удалите всю часть if else, и вы увидите все изображения te один поверх другого. Кстати, есть лучшие способы стека изображений на Android, как класс LayerDrawable.

+0

Я очень хорошо знаю эти вещи, если я удалить, если еще часть, которую мы можем видеть только один образ ... лучше дать ответы правильно, а не ошибочные предложения и ответы ... – Vamshi

+0

Чего вы хотите достичь? Это не совсем ясно из образа. Вы говорите, что ваши изображения не перекрываются, но ваш код пытается на самом деле поставить их рядом друг с другом. –

+0

Да с приведенным выше кодом. Первое изображение не появляется на экране .... и я могу отображать изображения бок о бок но я хочу, чтобы они перекрывались, как 2-е изображение на 1-м и 3-м изображениях на 2-м так далее .... – Vamshi

Смежные вопросы