创建dyanamic规则(create dyanamic rule)

2019-07-31 02:51发布

我试图动态调整大小的图像使用的代码是在相对布局

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),它的大小应该增加和图像应该放置在同一地点或在那里我需要把它的位置。 任何人都可以建议我请。

Answer 1:

你问什么,不能简单地通过创建规则来执行。 你需要做额外的工作对这种对齐。

1)使用addRule对齐父左&对齐父顶部,然后设置左侧和顶部缘至图像对齐到要之后100,100或200,50等可以调整图像的大小,而不改变位置的任何位置上。

2)如果保持图像对准CENTER_IN_PARENT然后将图像大小调整是有点典型。 你需要根据增加的大小来对齐图像中心,从而增加左侧和顶部填充。

假设图像尺寸为100×100和新尺寸150×150是
现在需要设置布局参数为x高度宽度200x200和图像的左侧和顶部填充设置为50。

我希望它清楚



文章来源: create dyanamic rule