android - 如何在具有多个 TextView 的相对布局中保持 TextView 居中对齐

标签 android android-layout textview android-relativelayout layout-gravity

我的这个 RelativeLayout 有两个 TextView,一个 center 对齐,另一个 end 对齐,

            <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="60dp"
                android:layout_marginEnd="@dimen/size_10dp"
                android:layout_marginStart="@dimen/size_10dp">

                <TextView
                    android:id="@+id/title_count_text"
                    fontPath="fonts/title_bold.ttf"
                    android:layout_width="wrap_content"
                    android:layout_height="60dp"
                    android:layout_alignParentEnd="true"
                    android:layout_gravity="center"
                    android:background="@color/background"
                    android:ellipsize="end"
                    android:gravity="center|center_vertical"
                    android:maxLines="1"
                    android:text="(0)"
                    android:paddingLeft="@dimen/size_5dp"
                    android:paddingStart="@dimen/size_5dp"
                    android:textColor="@color/textColorGrey"
                    android:textSize="@dimen/size_18dp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/title_text"
                    fontPath="fonts/title_bold.ttf"
                    android:layout_width="wrap_content"
                    android:layout_height="60dp"
                    android:layout_centerInParent="true"
                    android:layout_gravity="center"
                    android:ellipsize="end"
                    android:gravity="center"
                    android:maxLines="1"
                    android:text="This is a Sample Test"
                    android:textAlignment="center"
                    android:textColor="@color/textColorGrey"
                    android:textSize="@dimen/size_18dp"
                    android:textStyle="bold" />

            </RelativeLayout> 

看起来像这样,请找到下面的图片,

它在小文本长度下工作正常,但如果我增加文本长度,它将与计数器文本重叠,显然 title_texttitle_count_text 之后呈现,

但是如果我将 android:layout_toLeftOf="@+id/title_count_text" 属性添加到 title_text 并更改宽度以匹配父级以使此 TextView 居中对齐。 title_text 将失去重心。

看起来像这样,请在下面找到第二个附件

虽然它可能不可见,但是是的,它现在向左移动了计数器文本的宽度,

我想要实现的是保持 title_text 的居中对齐,当文本长度更大并且到达计数器 TextView 的开始时,它应该剪裁文本并附加 ... 到最后,

我们将不胜感激任何形式的帮助,

谢谢

TL:DR 如果文本长度更大,不仅居中对齐,而且在遇到计数器 TextView 时还需要裁剪。

最佳答案

如果你愿意,那么移除你的Relative layout的padding并添加padding到title_text Textview

 <RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="60dp"
    >

    <TextView
        android:id="@+id/title_count_text"
        android:layout_width="wrap_content"
        android:layout_height="60dp"
        android:layout_alignParentEnd="true"
        android:layout_gravity="center"
        android:ellipsize="end"
        android:gravity="center|center_vertical"
        android:maxLines="1"
        android:text="(0)"
        android:paddingLeft="@dimen/size_5dp"
        android:paddingStart="@dimen/size_5dp"
        android:textColor="@color/textColorGrey"
        android:textSize="@dimen/size_18dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/title_text"
        android:layout_width="wrap_content"
        android:layout_height="60dp"
        android:padding="16dp"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:ellipsize="end"
        android:gravity="center"
        android:maxLines="1"
        android:text="This is a Sample Test wehatb the  are u dongibng wjkl"
        android:textAlignment="center"
        android:textColor="@color/textColorGrey"
        android:textSize="@dimen/size_18dp"
        android:textStyle="bold" />

</RelativeLayout>

关于android - 如何在具有多个 TextView 的相对布局中保持 TextView 居中对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46439718/

相关文章:

Android 应用与您的设备 android studio 不兼容

android - 尝试对自定义对象数组执行 readParcelable 时发生 ClassCastException

android - 单击按钮后更新 TextView?

android - 如何在android中的自动完成 fragment 中更改文本大小?

android - 如何在XML中为TextView中的文本设置两种不同的颜色?

安卓:Viewpager 和 FragmentStatePageAdapter

java - MVVM + 数据绑定(bind) + View 模型不更新 View

android - 状态栏不是透明的而是白色的

android - 如何在 Android 的 GridView 中集中最后一个不均匀的行?

android - 如何知道 RecyclerView 中的最后一项