如何隐藏TextView和Button而不会弄乱布局?

时间:2013-09-05 04:04:21

标签: android android-layout

我有一个按钮,textview和一个EditText,它们在RelativeLayout中相应地排序。我想隐藏按钮和textview但仍然保持EditText的位置。我尝试做android:visibility:已经消失但似乎无法正常工作。这就是我所拥有的:

<Button
    android:id="@+id/exit"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:layout_alignBottom="@+id/title"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/title"
    android:background="@color/red" />

<TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/exit"      
    android:text="@string/name" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/message"
    android:focusable="true"
    android:inputType="textMultiLine"
    android:maxLines="1" >

我几乎想要EditText出现在它的位置而没有textview和按钮。请帮忙

3 个答案:

答案 0 :(得分:8)

android:visibility="gone"更改为android:visibility="invisible"以保持其形状但使其不可见。

在代码中,您可以设置

view.setVisibility(View.INVISIBLE);

答案 1 :(得分:2)

您需要使用

android:visibility = "invisible"

在这种情况下。它不会影响布局中的其他视图。

答案 2 :(得分:0)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<Button
    android:id="@+id/exit"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:background="@color/red"
    android:visibility="invisible" />

<TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/name"
    android:visibility="invisible" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:focusable="true"
    android:inputType="textMultiLine"
    android:maxLines="1" >
</EditText>