如何截断TextView,然后在Android中添加省略号

时间:2012-10-08 20:14:57

标签: android

我已经阅读了其他一些有类似问题的线索,但他们的答案似乎都不适合我。

Can't get ellipsis to work on Android

Android: Something better than android:ellipsize="end" to add "..." to truncated long Strings?

我有一个包含2个元素的相对布局,文本视图和图像视图。我需要将文本视图设置为1行并截断图像视图的约5sp,并将省略号应用于文本的末尾。

<RelativeLayout
                android:id="@+id/title_close"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="5sp">

                <TextView
                    android:id="@+id/"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:textSize="10sp"
                    android:textColor="#FFFFFF"
                    android:text="title"
                    android:maxLines="1"
                    android:ellipsize="end"/>

                <ImageView
                    android:id="@+id/"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_marginRight="5sp"
                    android:layout_marginLeft="5sp"
                    android:background="@drawable/home"/>

</RelativeLayout>

在上面的代码中,我试图在图像视图中应用一个边距来强制文本视图向左移动以截断与我放在边距中的sp一样多的sp。

上面的代码会将文本视图截断为单行并添加(...)但仅限于该行的末尾;不论ImageView是否合适,无论我申请什么保证金。图像视图显示在文本上方。我想这可能是因为他们处于相对布局。

任何有关如何使文本视图尊重图像视图占用的边距/空间的帮助将不胜感激。

1 个答案:

答案 0 :(得分:6)

我相信您要做的是首先放置图像视图(带边距),然后将文本设置为与左边框对齐,并将图像放置在左侧。