android setvisibility gone不会释放空间

android setvisibility gone不会释放空间,android,android-layout,android-relativelayout,Android,Android Layout,Android Relativelayout,我有一个相对布局,有一个文本视图和两个图像(宽度固定宽度,高度=48dip)。当我为一个图像设置Visibility view.gone时,它不会释放空间 <TextView android:id="@+id/tv_subject_name" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="18dip" android:

我有一个相对布局,有一个文本视图和两个图像(宽度固定宽度,高度=48dip)。当我为一个图像设置Visibility view.gone时,它不会释放空间

<TextView
    android:id="@+id/tv_subject_name"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="18dip"
    android:textColor="#333"
    android:text="This is subject name"
    android:background="@android:color/transparent"
    android:layout_toLeftOf="@+id/btn_edit"
    android:layout_centerVertical="true"
    android:layout_marginRight="10dip"
    android:maxLines="1"/>
<EditText
        android:id="@+id/et_subject_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="18dip"
        android:textColor="#333"
        android:layout_toLeftOf="@+id/btn_edit"
        android:layout_centerVertical="true"
        android:enabled="false"
        android:visibility="invisible"
        android:background="@android:color/transparent"
        android:layout_marginRight="10dp"
        android:singleLine="true"
        />

<ImageView
        android:layout_width="48dip"
        android:layout_height="48dip"
        android:id="@+id/btn_edit"
        android:layout_alignParentRight="false"
        android:layout_centerVertical="true"
        android:src="@drawable/edit_blue"
        android:background="#eee"
        android:visibility="visible"
        android:layout_toLeftOf="@+id/btn_quick_reply"/>

<ImageView
        android:layout_width="48dip"
        android:layout_height="48dip"
        android:id="@+id/btn_quick_reply"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:src="@drawable/edit_quick_reply_blue"
        android:background="#eee"
        android:visibility="visible"/>



对于您想要做的事情,我将使用
线性布局
而不是
相对布局
。诸如此类:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ...>

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        ....>

    <ImageView
        android:id="@+id/img1"
        android:layout_width="48dip"
        android:layout_height="48dip"
        ...>
    <ImageView
        android:id="@+id/img2"
        android:layout_width="48dip"
        android:layout_height="48dip"
        ...>
</LinearLayout>


请添加XML,可能空间是免费的,您只是没有使用它……图片和XML都显示您更改的图像的可见性是最后一个图像,它的空间没有问题哪里有问题?什么空间没有释放,父
布局的
宽度是多少?这是如何回答问题的?他希望在右侧按钮的可见性设置为消失时,中间按钮移到右侧。使用线性布局通常更容易实现。不过,我愿意接受其他建议。我也是一个大的相对论爱好者,但前提是它有意义。存在其他布局是有原因的。你真的看不到ImageView是如何移动的?左侧的文本视图设置为填充所有未使用的空间。到右边的两个图像视图。当您将img2的可见性设置为“消失”时,img1将向右移动。线性布局非常适合解决此类问题。绝对比在布局中添加一个空视图好,这样你就有了一个锚。