ConstraintLayout水平定位像一个'centerToCenterOf'
ConstraintLayout horizontal positioning like a 'centerToCenterOf'
仍然无法弄清楚如何使用 ConstraintLayout 中排列的两个视图来执行以下操作:
它们是垂直排列的,所以底部的一个通过 topToBottomOf 指向上面的一个。上面的应该有一个由 startToStartOf 和 topToTopOf 完成的固定位置(+ 保证金等)。现在底部的像上面提到的那样垂直定位,但是水平定位应该像一个'center to center of',这意味着它总是应该水平调整,以便它的中心恰好位于上视图中心的下方。
每当我玩链子的时候,上面的那个马上跳起来就失去了原来的位置,好疏远我..
必须怎么做?
更新:情况是这样的:
4个Textviews,Textview 1是决定整体位置的主要anchor。 Textview 3 始终应在右侧与 1 的 rightToRightOf 对齐。现在 Textviews 2 和 4 应始终水平移动,以便如前所述,它们的中心与其正上方的 Textview 中心对齐。所有 Textview 的宽度都可以改变和变化,具体取决于数据绑定插入的文本
试试这个:
请注意您可能需要根据需要更改视图的尺寸(边距)。
<?xml version="1.0" encoding="utf-8"?>
<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="match_parent">
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="556dp"
android:layout_marginStart="40dp"
android:layout_marginTop="8dp"
android:text="TextView 1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.488"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.97" />
<TextView
android:id="@+id/textView7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginTop="84dp"
android:text="TextView 2"
app:layout_constraintEnd_toEndOf="@+id/textView6"
app:layout_constraintStart_toStartOf="@+id/textView6"
app:layout_constraintTop_toBottomOf="@+id/textView6"
android:layout_marginLeft="0dp"
android:textAlignment="center"/>
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginTop="112dp"
android:text="TextView 3"
app:layout_constraintEnd_toEndOf="@+id/textView6"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintRight_toRightOf="@id/textView6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView7"
android:layout_marginRight="0dp" />
<TextView
android:id="@+id/textView9"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="92dp"
android:text="TextView 4"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="@+id/textView8"
app:layout_constraintStart_toStartOf="@+id/textView8"
app:layout_constraintTop_toBottomOf="@+id/textView8" />
</android.support.constraint.ConstraintLayout>
这里
-> TextView 1
任意位置
-> TextView 2
始终位于 TextView 1
及其下方的中心。
-> TextView 3
右对齐 TextView 1
-> TextView 4
始终位于 TextView 3
及其下方的中心。
仍然无法弄清楚如何使用 ConstraintLayout 中排列的两个视图来执行以下操作:
它们是垂直排列的,所以底部的一个通过 topToBottomOf 指向上面的一个。上面的应该有一个由 startToStartOf 和 topToTopOf 完成的固定位置(+ 保证金等)。现在底部的像上面提到的那样垂直定位,但是水平定位应该像一个'center to center of',这意味着它总是应该水平调整,以便它的中心恰好位于上视图中心的下方。
每当我玩链子的时候,上面的那个马上跳起来就失去了原来的位置,好疏远我..
必须怎么做?
更新:情况是这样的:
4个Textviews,Textview 1是决定整体位置的主要anchor。 Textview 3 始终应在右侧与 1 的 rightToRightOf 对齐。现在 Textviews 2 和 4 应始终水平移动,以便如前所述,它们的中心与其正上方的 Textview 中心对齐。所有 Textview 的宽度都可以改变和变化,具体取决于数据绑定插入的文本
试试这个:
请注意您可能需要根据需要更改视图的尺寸(边距)。
<?xml version="1.0" encoding="utf-8"?>
<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="match_parent">
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="556dp"
android:layout_marginStart="40dp"
android:layout_marginTop="8dp"
android:text="TextView 1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.488"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.97" />
<TextView
android:id="@+id/textView7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginTop="84dp"
android:text="TextView 2"
app:layout_constraintEnd_toEndOf="@+id/textView6"
app:layout_constraintStart_toStartOf="@+id/textView6"
app:layout_constraintTop_toBottomOf="@+id/textView6"
android:layout_marginLeft="0dp"
android:textAlignment="center"/>
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginTop="112dp"
android:text="TextView 3"
app:layout_constraintEnd_toEndOf="@+id/textView6"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintRight_toRightOf="@id/textView6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView7"
android:layout_marginRight="0dp" />
<TextView
android:id="@+id/textView9"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="92dp"
android:text="TextView 4"
android:textAlignment="center"
app:layout_constraintEnd_toEndOf="@+id/textView8"
app:layout_constraintStart_toStartOf="@+id/textView8"
app:layout_constraintTop_toBottomOf="@+id/textView8" />
</android.support.constraint.ConstraintLayout>
这里
-> TextView 1
任意位置
-> TextView 2
始终位于 TextView 1
及其下方的中心。
-> TextView 3
右对齐 TextView 1
-> TextView 4
始终位于 TextView 3
及其下方的中心。