【问题标题】:create dyanamic rule创建动态规则
【发布时间】:2012-08-21 05:06:18
【问题描述】:

我正在尝试使用代码动态调整处于相对布局中的图像的大小

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) 位置,则应增加其大小,并且应将图像放置在同一位置或我需要放置它的位置。 谁能推荐我。

【问题讨论】:

    标签: android resize android-imageview


    【解决方案1】:

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

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

    2) 如果您保持图像对齐 CENTER_IN_PARENT 那么图像调整大小有点典型。 您需要根据增加的尺寸增加左侧和顶部的填充以使图像居中对齐。

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

    我希望它清楚

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-01
      • 2015-03-10
      • 2018-08-05
      相关资源
      最近更新 更多