我在相对布局中有两个imageView。是否可以动态更改一个imageview的位置。而另一个保持不变。?

时间:2012-01-16 05:35:22

标签: android android-layout android-widget

我在Xml中定义了两个图像视图。我希望动态地改变其中一个的位置而另一个保持不变。有什么建议。感谢名单。

4 个答案:

答案 0 :(得分:1)

是的,当然,这很可能。使用LayouParam

        ImageView img1=(ImageView) findViewById(R.id.imageview);
    ImageView img2=(ImageView) findViewById(R.id.imageview);

    RelativeLayout.LayoutParams lp2=new RelativeLayout.LayoutParams(100, 100);
    lp2.addRule(RelativeLayout.ALIGN_RIGHT,img2.getId());
    img1.setLayoutParams(lp2);

设置保证金

lp2.setMargins(Left, TOp, right,Bottom);

答案 1 :(得分:0)

您可以通过为RelativeLayout.LayoutParams提供新规则来实现。做这样的事情:

RelativeLayout.LayoutParams params = imageView2.getLayoutParams();
params.addRule(RelativeLayout.CENTER_IN_PARENT);
imageView2.setLayoutParams(params);

答案 2 :(得分:0)

让我们假设你的imageView1保持不变,在父级中心对齐。并且您的第二个ImageView imageView2左对齐到imageView1,现在您想将它对齐到imageView1的下方。使用以下来实现相同的目的,

RelativeLayout.LayoutParams params = imageView2.getLayoutParams(); param.addRule(RelativeLayout.BELOW,R.id.imageView1); imageView2.setLayoutParams(PARAMS);

答案 3 :(得分:0)

使用如下布局属性:

imageView.layout(l,t,r,b);

l代表左侧,t代表顶级等等。