Android 无法重叠图像
我需要一幅一幅地重叠图像。 下面是我的代码Android 无法重叠图像,android,imageview,overlapping,Android,Imageview,Overlapping,我需要一幅一幅地重叠图像。 下面是我的代码 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}; ImageVi
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]);
}
}
有了这个,我无法显示第一个图像和剩余的图像显示,但不与其他图像重叠。
如何解决这个问题?代码完全错了:你知道“右”和“左”是什么意思吗? 只要删除所有的if-else部分,你就会看到所有的te图像,一个在另一个上面。
顺便说一句,在android上有更好的方法来堆叠图像,比如LayerDrawable类。最终可以借助此解决问题
我非常清楚这些事情,如果我删除if-else部分,我们只能看到一个图像…最好给出正确的答案,而不是错误的建议和答案…你想要实现什么?从图像上看不太清楚。你说你的图像没有重叠,但是你的代码试图把它们一个接一个地放在另一个上面的代码是的,第一个图像没有出现在屏幕上。。。。我能够并排显示图像,但我希望它们重叠,比如第二个图像在第一个上,第三个图像在第二个上,等等……重叠的意思是在另一个上面显示一个?
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);
}
}