app:layout_goneMarginLeft =“”对约束布局中的视图有什么作用?

时间:2018-07-31 20:37:59

标签: android android-layout android-studio android-view android-constraintlayout

app:layout_goneMarginLeft及其变体如何影响约束布局中的视图排列?

2 个答案:

答案 0 :(得分:4)

希望这个例子可以帮助您理解这个简单的概念-

考虑ID为2 TextViewstextView1的{​​{1}},其中textView2textView2的末尾具有0dp约束。

情况1:当textView1的能见度为textView1时,VISIBLE将恰好位于textView2的右边,且边距为0dp。

textView1

结果-
enter image description here

情况2:当<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="100dp"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/form_field_background" android:padding="5dp" android:text="TextView1" android:visibility="visible" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/form_field_background" android:padding="5dp" android:text="TextView2" app:layout_constraintStart_toEndOf="@+id/textView1" app:layout_goneMarginLeft="10dp" app:layout_goneMarginStart="10dp" /> </android.support.constraint.ConstraintLayout> 的可见性为textView1时,GONE会将其marginLeft设置为10dp,因为我已经指定了textView2

app:layout_goneMarginLeft="10dp"

结果-
enter image description here

答案 1 :(得分:0)

例如,当您使用view.GONE时,例如在将视图B约束到另一个视图A并在逻辑/代码中的某个点时,将视图A的可见性更改为app:layout_goneMarginLeft=""将保留页边距或像文档中所说的那样:

  

您还可以指示要使用的其他保证金值

您可以找到示例here