约束布局指南

Constraint layout guidelines

我正在尝试使用约束布局指南设置文本块的左右填充。我想要在两侧使用以下代码进行 11% 的填充。但是,当我尝试设置填充时,它没有反映出来。当我只使用左或右时,它会显示,但在文本视图上同时使用左和右准则时,填充不会反映出来。

这是代码

            <android.support.constraint.ConstraintLayout
                android:id="@+id/contentLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_below="@+id/centredIconLayout"
                android:layout_centerHorizontal="true"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/title"
                    android:layout_width="wrap_content"
                    android:fontFamily="@font/gothamggm_bold"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="25dp"
                    android:text="@string/title_long"
                    android:textSize="17sp"
                    android:lineSpacingExtra="9sp"
                    android:textColor="@android:color/black"
                    app:layout_constraintLeft_toLeftOf="@+id/left_guideline"
                    app:layout_constraintRight_toLeftOf="@+id/right_guideline"
                    />

                <TextView
                    android:id="@+id/body"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_marginTop="13dp"
                    android:fontFamily="@font/gothamssm_book"
                    android:lineSpacingExtra="9sp"
                    android:text="@string/content_large"
                    android:textColor="@color/body_grey"
                    android:textSize="12sp"
                    app:layout_constraintTop_toBottomOf="@+id/title"
                    app:layout_constraintLeft_toLeftOf="@+id/left_guideline"
                    app:layout_constraintRight_toLeftOf="@+id/right_guideline"
                    />

                <android.support.constraint.Guideline
                    android:id="@+id/left_guideline"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    app:layout_constraintGuide_percent="0.11" />

                <android.support.constraint.Guideline
                    android:id="@+id/right_guideline"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    app:layout_constraintGuide_percent="0.89" />

            </android.support.constraint.ConstraintLayout>

这是蓝图,其中两个文本视图(包括在@+id/contentLayout 中)都在图像视图下方

问题出在 textview 的宽度上。您已将其设置为 wrap_content。这就造成了问题。只需在布局编辑器中将其更改为 match_constraints 或在 xml 代码中手动将宽度设置为 0dp,一切都会正常工作。