我做了这个简单的屏幕。我故意这样做是为了表明在wrap_content的情况下约束布局不能正常工作。我知道我可以使constraint_layout为parent而且它不会导致问题,但我想了解为什么这不起作用。
<FrameLayout 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="match_parent"
tools:context="com.konel.kryptapps.testapp.MainActivity">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="text view 1" />
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/textView"
tools:text="text view 2" />
</android.support.constraint.ConstraintLayout>
</FrameLayout>
此xml导致底部textview重叠到顶部textview。它的最高保证金限制并未受到尊重。但是如果我将顶部textview的文本大小更改为14sp,它就能完美运行。
下面是布局绑定屏幕截图:
我已经以编程方式设置了文本。第一个文本视图包含来自lorem ipsum的100个单词。我不明白我可能做错了什么。
P.S。我正在使用com.android.support.constraint:constraint-layout:1.0.2
答案 0 :(得分:1)
您需要为app:layout_constraintBottom_toTopOf="@id/textView2"
设置textView
才能正确呈现
<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintBottom_toTopOf="@id/textView2"
android:text="@string/lorem"/>
答案 1 :(得分:0)
您可能需要使用Constrain Chain。