我的这个 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_text
在 title_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/