我有一个ConstraintLayout
它的高度在哪里wrap_content
.
我希望它的高度能够根据其子级的高度折叠或扩展。足够简单和常见,对吧?
Now I have a layout which looks like this:
(First of all, please ignore the abnormal super large margin at the bottom. As you can see, the margin is just 16dp but the preview renders a very large margin.)
我的问题是,如果大矩形的可见性设置为gone
,
根据文档ConstraintLayout
,如果我设置它的goneMarginTop
达到某个值时,即使其可见性为gone
。这样我的Request Date
到父级的底部会有一些空间。
However, this does not work as expected. Request Date
sticked to the bottom of its parent:
(This is again a broken preview. In my real app, I am able to see a complete Request Date)
我做错了什么吗?这是我的完整代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:background="@color/colorBasicGrey"
android:layout_marginBottom="2dp">
<View
android:id="@+id/item_indicator"
android:layout_width="8dp"
android:layout_height="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/white"
android:layout_marginTop="24dp"
android:layout_marginLeft="24dp"/>
<TextView
android:id="@+id/group_member_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/group_member_join_group_request"
app:layout_constraintTop_toBottomOf="@id/item_indicator"
app:layout_constraintBottom_toTopOf="@id/item_indicator"
app:layout_constraintLeft_toRightOf="@id/item_indicator"
android:layout_marginLeft="8dp"
style="@style/general45"/>
<TextView
android:id="@+id/group_member_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/general45"
android:textAllCaps="true"
app:layout_constraintBaseline_toBaselineOf="@id/group_member_label"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginLeft="180dp"
tools:text="ABCDEFGHIJK"/>
<TextView
android:id="@+id/group_request_date_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/group_member_request_date_label"
app:layout_constraintTop_toBottomOf="@id/group_member_label"
app:layout_constraintLeft_toLeftOf="@id/group_member_label"
android:layout_marginTop="8dp"
style="@style/general45"/>
<TextView
android:id="@+id/group_request_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/general45"
android:textAllCaps="true"
app:layout_constraintBaseline_toBaselineOf="@id/group_request_date_label"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginLeft="180dp"
tools:text="28/10/2017"/>
<LinearLayout
android:id="@+id/admin_button_container"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_marginBottom="16dp"
android:layout_marginLeft="24dp"
android:layout_marginRight="24dp"
android:layout_marginTop="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/group_request_date_label"
app:layout_constraintVertical_bias="0.0"
app:layout_goneMarginTop="16dp"
app:layout_goneMarginLeft="24dp"
app:layout_goneMarginRight="24dp"
app:layout_goneMarginBottom="0dp"
android:visibility="gone">
<!--To simplify the question, I hided elements inside this LinearLayout-->
</LinearLayout>
</android.support.constraint.ConstraintLayout>
弄清楚了。
goneMargin
用于指示距已消失目标的余量,而不是它本身消失了。
因此实际上我应该把goneMargin
中的属性Request Date
而不是大矩形。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)