我有一个相对布局,一个textview和两个图像(宽度固定宽度,高度= 48dip)。当我为一个图像设置可见性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"/>
答案 0 :(得分:1)
对于您想要做的事情,我会使用LinearLayout
代替RelativeLayout
。类似的东西:
<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>