约束布局指南

时间:2018-05-01 16:15:02

标签: android android-layout android-constraintlayout

我正在尝试使用约束布局指南设置文本块的左右填充。我想在两侧使用以下代码进行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中)都在图像视图下方 enter image description here

1 个答案:

答案 0 :(得分:1)

问题是textview的宽度。您已将其设置为wrap_content。这就产生了问题。只需在布局编辑器中将其更改为match_constraints,或在xml代码中手动将宽度设置为0dp,所有这些都可以正常工作。