如何在 ConstraintLayout 中将视图居中而不重叠不均匀的邻居

And*_*ndy 7 android android-constraintlayout

我正在为我的标题栏使用基于ConstraintLayout. 我需要将标题文本居中,而不与两侧的按钮重叠。目前,我的标题位于侧面按钮之间的中心,但由于它们的宽度不同,因此标题不在父视图中居中。

这就是它当前的样子(在两个按钮之间居中而不是在父按钮中居中):

当前标题栏布局

有什么方法可以使标题在父级中居中,同时确保它不会与两侧的按钮文本重叠(因为这可能会改变)?

为了使其更复杂,如果没有空间完整显示两者,我还希望它是被压缩的标题而不是按钮文本。

如果我将标题的两个边缘限制为父级并将其设置为换行宽度,那么它几乎可以工作,直到按钮文本变得有点长。

Jas*_*bek 1

要使视图居中,您可以指定layout_width =“0dp”,同时将视图的两侧连接到其他视图。然后中心视图占据视图左侧的位置

更新

如果您想在父级内部居中,那么其他人的视图将是您的父级。

android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:ellipsize = "end"
android:maxLines = "1"
app:layout_constraintEnd_toEndOf = "parent"
app:layout_constraintStart_toStartOf = "parent"
app:layout_constraintTop_toTopOf = "parent"
app:layout_constraintBottom_toOf = "parent"
Run Code Online (Sandbox Code Playgroud)

  • 这就是如何将其在两个视图之间居中,是的,但我试图在父视图中居中 (2认同)