我有2个用view.getDrawingCache();保存的位图,分别称为firstBitmapsecondBitmap。它们是从用户制作的初始图纸中保存的。现在我要显示它们。我的问题是只显示第一张图片(我希望同时显示两者)。我知道位图是正确的,因为如果删除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);

09-26 17:25