gpt4 book ai didi

android - 多于两行时如何纠正 ConstraintLayout TextView 重叠

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:36 24 4
gpt4 key购买 nike

我在约束布局方面遇到问题,其中一个 TextView 中的文本到达第二行不会向下推另一个被约束在它下面的 TextView ,直到行的中间。

我已经构建了一个包含三个 TextView 的简单布局。第一个 TextView 位于左侧并具有固定宽度。第二个坐在它的右边,在它和它的 parent 之间。第三个位于第二个下方,第一个左侧。

我希望它看起来像: Layout of activity with the three text views as desired

但是,如果我删除文本“不重叠”。我得到: Layout of activity with the third text view overlapping the second.

它发生变化的点(“不重叠”中的“O”)似乎是当第一个 TextView 不存在时文本的长度填满两行: Image showing if the first TextView was not there that the text would wrap perfectly.

那么如何更改此布局,以便即使我在屏幕左侧有一个 TextView ,它也会在到达两行时立即将 TextView 3 向下推?而不是将它推到第二行的一半。

我的 XML:

<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context="com.testapp.myapplication.MainActivity">

<TextView
android:id="@+id/text_view_1"
android:layout_width="120dp"
android:layout_height="0dp"
android:background="@color/colorAccent"
android:text="Text View 1"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/text_view_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#22AA99"
android:text="Text View 2 Showing problem with overlap. Overlapping. Not O"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintLeft_toRightOf="@id/text_view_1"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/text_view_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FF00FF"
android:text="Text View 3"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/text_view_1"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_view_2" />

</android.support.constraint.ConstraintLayout>

谢谢。

最佳答案

我已经找到了

app:layout_constrainedHeight="true"

来自约束布局1.1.0-beta2对 wrap_content 实现约束。因此,我觉得这是正确的解决方案,因为这还允许我设置 app:layout_constraintBottom_toBottomOf="parent",它可以在 View 底部留出边距。

关于android - 多于两行时如何纠正 ConstraintLayout TextView 重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47463705/

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