java代码中的相对布局

时间:2012-05-14 11:24:19

标签: android xml visibility relativelayout

我正在尝试执行一个小代码,其条件是如果布尔值设置为true,则只有所有三个亲属都应出现在用户界面中。如果设置为false,则只显示两个布局。我能做到这一点。

我的问题是当我检查条件并将View.INVISIBLE条件设置为layout2时,间隙出现在布局1和3之间。 我怎样才能消除这个差距?我的布局是用XML创建的:

<RelativeLayout
    android:id="@+id/rl_one"
    android:layout_width="wrap_content"
    android:layout_height="40dp"                    
    android:layout_marginLeft="20dp"
    android:layout_marginTop="10dp" />

<RelativeLayout
   android:id="@+id/rl_two"
   android:layout_width="wrap_content"
   android:layout_height="40dp"
   android:layout_below="@+id/rl_one"
   android:layout_marginLeft="20dp"
   android:layout_marginTop="10dp" />

<RelativeLayout
    android:id="@+id/rl_three"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:layout_below="@+id/rl_two"
    android:layout_marginLeft="20dp"
    android:layout_marginTop="10dp" />

谢谢。

2 个答案:

答案 0 :(得分:3)

您必须使用View.GONE代替View.INVISIBLE。

答案 1 :(得分:1)

您的代码中有2项更改

    xml 中的
  1. layout_height="wrap_content"
  2. View.INVISIBLE替换为View.GONE
  3. 如果您使用View.INVISIBLE,那么您的视图只是隐身,但您可以看到您的用户界面之间存在差距,如果您使用View.GONE,那么您的用户界面看起来没有任何差距:)