gpt4 book ai didi

android - ConstraintLayout水平定位像一个 'centerToCenterOf'

转载 作者:行者123 更新时间:2023-11-30 00:10:15 25 4
gpt4 key购买 nike

仍然无法弄清楚如何使用 ConstraintLayout 中排列的两个 View 来执行以下操作:
它们是垂直排列的,所以底部的一个通过 topToBottomOf 指向上面的一个。上面的应该有一个由 startToStartOf 和 topToTopOf 完成的固定位置(+ margin 等)。现在底部的位置如前所述是垂直放置的,但水平位置应该像“中心到中心”,这意味着它始终应水平调整,使其中心恰好位于上 View 中心的下方。
每当我玩链子的时候,上面的那个马上跳来跳去,失去了原来的位置,这让我很疏远..
必须怎么做?

更新:情况是这样的:

enter image description here

4个Textviews,Textview 1是决定整体位置的主要anchor。 Textview 3 始终应在右侧与 1 的 rightToRightOf 对齐。现在 Textviews 2 和 4 应始终水平移动,以便如前所述,它们的中心与其正上方的 Textview 中心对齐。所有 Textview 的宽度都可以改变和变化,这取决于数据绑定(bind)插入的文本

最佳答案

试试这个:

请注意,您可能需要根据需要更改 View 的尺寸(边距)。

<?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 3TextView 1 右对齐

-> TextView 4 始终居中于 TextView 3 及其下方。

关于android - ConstraintLayout水平定位像一个 'centerToCenterOf',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48260868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com