【发布时间】:2018-03-08 11:02:50
【问题描述】:
我有这个RelativeLayout 与两个TextViews,一个与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 的中心对齐方式,并且当文本长度较大并且到达计数器文本视图的开头时,它应该剪切文本并将... 附加到末尾,
我们将不胜感激任何形式的帮助,
谢谢
TL:DR 不仅居中对齐,还需要在遇到计数器文本视图时进行剪辑,如果文本长度较大。
【问题讨论】:
-
使用线性布局并将权重 1 赋予第一个文本视图,最大行数 1
-
@Redman 是对的!不需要使用相对布局,你只需要使用 liner 布局并使用它的 weight 属性,你可以让你的 textview 居中。
-
@Redman 你能把它作为答案发布吗,
-
您希望“这是一个示例文本”文本居中对齐?
-
是的@Ankita,不仅居中对齐,还需要在遇到计数器文本视图时进行剪辑,如果文本长度更大。
标签: android android-layout textview android-relativelayout layout-gravity