创建动态规则

时间:2012-08-21 05:06:19

标签: android resize android-imageview

我正在尝试使用代码

动态调整相对布局中的图像
int height = v.getHeight();
   int width = v.getWidth();
height += 50;
width += 50; 
RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(height, width);
layout.setMargins(200, 200, 200, 200);
layout.addRule(RelativeLayout.CENTER_IN_PARENT);
    v.setLayoutParams(layout);

这里的v是一个视图(在这种情况下是一个imageView) 规则完美无缺。图像放在中心,但我想得到的是图像应该放在它的位置。 也就是说,如果图像位于该位置(100,100),则应增加其尺寸,并且图像应放置在我需要放置的相同位置或位置。 有谁能建议我。

1 个答案:

答案 0 :(得分:0)

您要问的是,不能简单地通过创建规则来完成。 你需要为这种对齐做额外的工作。

1)使用addRule对齐父左和右对齐父级顶部,然后设置左上边距以将图像对齐到您想要的任何位置100,100或200,50等,之后您可以在不改变位置的情况下调整图像大小。

2)如果保持图像对齐CENTER_IN_PARENT,则图像调整大小有点典型。 你需要根据增加的大小增加左边和上边距,以使图像在中心对齐。

假设图像尺寸为100x100,新尺寸为150x150
现在你需要将布局参数设置为宽x高到200x200,并将图像的左边和上边距设置为50。

我希望它清楚