如何在android中运行时更改以下目标?

时间:2013-11-28 07:49:11

标签: android android-layout

例如,我有一个imageView 1,imageView 2和imageView3

在XML中,我使用相对布局对它们进行分组

eg.
imageView1:
below of 2

imageView3:
visiblity: gone

在某些行动后(在运行时间内)

eg.
imageView1:
below of 3

imageView3:
visiblity: visible

我觉得类似的东西,却找不到正确的语法

imageView1.setLayoutParams(new LayoutParams(Below));

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您的API级别是什么?如果您偶然使用的是17的最小SDK,则可以使用removeRule(int verb)删除below of 2,然后添加below of 3

否则,我所做的是为给定视图保留RelativeLayout.LayoutParams的两个实例。尝试这样的事情:

belowTwoParams.addRule(RelativeLayout.BELOW, 2.getId()); belowThreeParams.addRule(RelativeLayout.BELOW, 3.getId());

其中BelowTwoParams和belowThreeParams都是RelativeLayout.LayoutParams的实例。请记住,您的" 2"和" 3"在添加这些规则之前,视图需要具有有效的ID,在XML中或以编程方式设置。 之后,您只需致电imageView1.setLayoutParams(belowTwoParams //or belowThreeParams accordingly);