Android 如何在包含宽度为“0dp”的视图的ConstraintLayout中居中放置打包链?
我想把我的页面标题放在中间。标题可以看起来像1个Dokument1或3个大文档。我希望左右边距为60dp,并且文档名称的长度可变。当我为@+id/title使用wrap_内容时,居中效果很好,但是边距不适用于文档的长名称。当我使用0dp时,边距得到尊重,但定心不起作用 如何使约束中的打包链延伸到中心,同时具有动态长度和边距Android 如何在包含宽度为“0dp”的视图的ConstraintLayout中居中放置打包链?,android,android-constraintlayout,constraint-layout-chains,Android,Android Constraintlayout,Constraint Layout Chains,我想把我的页面标题放在中间。标题可以看起来像1个Dokument1或3个大文档。我希望左右边距为60dp,并且文档名称的长度可变。当我为@+id/title使用wrap_内容时,居中效果很好,但是边距不适用于文档的长名称。当我使用0dp时,边距得到尊重,但定心不起作用 如何使约束中的打包链延伸到中心,同时具有动态长度和边距 <android.support.constraint.ConstraintLayout android:id="@+id/top_bar_xml" a
<android.support.constraint.ConstraintLayout
android:id="@+id/top_bar_xml"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/open_brackets"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="("
android:gravity="center_vertical"
android:layout_marginStart="60dp"
android:textSize="20sp"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintEnd_toStartOf="@id/page_count"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/page_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:gravity="center_vertical"
android:textSize="20sp"
app:layout_constraintStart_toEndOf="@id/open_brackets"
app:layout_constraintEnd_toStartOf="@id/close_brackets"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/close_brackets"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=") "
android:gravity="center_vertical"
android:textColor="@color/black"
android:textSize="20sp"
app:layout_constraintStart_toEndOf="@id/page_count"
app:layout_constraintEnd_toStartOf="@id/title"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="60dp"
android:text="DocumentTitle"
android:textSize="20sp"
android:gravity="center_vertical"
android:ellipsize="end"
app:layout_constraintStart_toEndOf="@+id/close_brackets"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
我简化了这个例子,删除了对ViewModels的页面计数和标题引用;文档下面有其他具有较低边距的视图您可以设置@id/title的宽度以包装内容并添加
属性,以便当文本视图变得太大而无法满足边距时,该文本视图的约束得到尊重。您可以设置@id/title的宽度以包装内容并添加
属性,以便当文本视图变得太大而无法满足边距时,该文本视图的约束得到尊重
app:layout_constrainedWidth="true"