gpt4 book ai didi

android - 如何在 ConstraintLayout 中将 View 居中而不重叠不均匀的邻居

转载 作者:行者123 更新时间:2023-12-04 23:44:30 29 4
gpt4 key购买 nike

我正在为我的标题栏使用自定义布局,基于 ConstraintLayout .我需要将标题文本居中而不重叠两侧的按钮。目前我的标题在侧边按钮之间居中,但由于它们的宽度不同,所以标题不在父 View 中居中。

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

Current title bar layout

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

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

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

最佳答案

你应该从中心开始,然后向左和向右走。

尝试以下解决方案,它应该可以按预期工作

<android.support.constraint.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<Button
android:id="@+id/btn_at_the_start"
android:layout_width="0dp"
android:layout_height="45dp"
android:gravity="center"
android:text="Awards"
app:layout_constraintEnd_toStartOf="@+id/tv_in_the_middle"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.2" />

<TextView
android:id="@+id/tv_in_the_middle"
android:layout_width="0dp"
android:layout_height="45dp"
android:ellipsize="end"
android:gravity="center"
android:textAlignment="center"
android:padding="5dp"
android:maxLines="2"
android:text="Nominations"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.6" />

<ImageButton
android:id="@+id/ibtn_at_the_end"
android:layout_width="0dp"
android:layout_height="45dp"
android:background="@android:color/transparent"
android:gravity="center_horizontal"
android:src="@drawable/ic_add_white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/tv_in_the_middle"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_percent="0.2" />
</android.support.constraint.ConstraintLayout>

关于android - 如何在 ConstraintLayout 中将 View 居中而不重叠不均匀的邻居,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56557834/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com