我有2个用view.getDrawingCache();
保存的位图,分别称为firstBitmap
和secondBitmap
。它们是从用户制作的初始图纸中保存的。现在我要显示它们。我的问题是只显示第一张图片(我希望同时显示两者)。我知道位图是正确的,因为如果删除layout.addView(pic1)
,则可以清晰地看到第二张图像。布局是LinearLayout
。
我怀疑大小是一个问题,但我认为默认情况下添加到布局中的视图具有填充父级,因此这仍将导致2张图像而不是一张。我尝试使用LayoutParams
动态更改宽度和大小,但这会使图像完全消失。我愿意接受任何建议。
ImageView pic1 = new ImageView(this);
pic1.setImageBitmap(firstBitmap);
layout.addView(pic1);
ImageView pic2 = new ImageView(this);
pic2.setImageBitmap(secondBitmap);
layout.addView(pic2);
最佳答案
尝试在线性布局中分配权重,以便两个位图都可见。
您可以使用下面的代码来做到这一点。
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width, height, weight);
layout.addView(pic1, params);
layout.addView(pic2, params);