仍然无法弄清楚如何在ConstraintLayout中安排两个视图来完成以下操作:
它们是垂直排列的,所以底部一个指向topToBottomOf的上面一个。上面的应该有一个由startToStartOf和topToTopOf(+ margin等)完成的固定位置。现在底部垂直定位如上所述,但水平定位应该像“中心到中心”,这意味着它总是水平调整,使其中心正好位于上方视图中心的正下方。
每当我用链条玩耍时,上面的一个立即跳跃并失去原来的位置,是什么样的疏远我...
怎么做?
更新:情况是这样的:
4 Textviews,Textview 1是决定整体位置的主要锚点。 Textview 3总是在rightToRightOf的右侧到1。现在,Textviews 2和4应始终水平移动,以便如上所述,它们的中心与其直接的上部Textview中心对齐。所有Textview的宽度都可以更改和变化,具体取决于数据绑定所插入的文本
答案 0 :(得分:1)
试试这个:
注意您可能需要根据需要更改视图的尺寸(边距)。
<?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>
下面
- &GT; TextView 1
位于任何位置。
- &GT; TextView 2
始终位于TextView 1
及其下方的中心位置。
- &GT; TextView 3
与TextView 1
- &GT; TextView 4
始终位于TextView 3
及其下方的中心位置。