如何将Android ImageView拉伸到父宽度?

时间:2015-02-23 17:26:57

标签: android

我知道这个问题之前已被多次询问过,但所有答案都没有帮助我或者似乎互相矛盾。

  • This one建议我需要以编程方式设置ImageView的宽度。
  • This onethis one建议通过覆盖子类中ImageView的onMeasure()方法来实现。
  • This one建议只需使用快速代码段即可完成:

ImageView imageView=new ImageView(context);
imageView.setAdjustViewBounds(true);
imageView.setImageBitmap(bitmap);
imageView.setMaxHeight(maxHeight);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
layout.addView(imageView);

我以为我已经尝试了这个(我是Android的新手,对不起)而且它似乎对我不起作用。我的目标是以编程方式构建以下内容:

<horizontal layout>
    <container width_weight=X>
        <image A fills parent width/>
    </container>
    <container width_weight=Y>
        <image B fills parent width/>
    </container>
    <container width_weight=Z>
        <image C fills parent width/>
    </container>
</horizontal layout>

其中X,Y和Z是不同的正整数。有人可以帮我理解所有这些信息吗?

1 个答案:

答案 0 :(得分:1)

通过您的ImageView

的LayoutParams设置宽度和高度
ImageView imageView = new ImageView(this);
int mp = LinearLayout.LayoutParams.MATCH_PARENT;
imageView.setLayoutParams(new LinearLayout.LayoutParams(mp, mp));
layout.addView(imageView);

这是考虑到您的容器是LinearLayout