8

我在这里阅读了一些其他有类似问题的主题,但他们的答案似乎都对我不起作用。

无法在 Android 上使用省略号

Android:比 android:ellipsize="end" 添加“...”到截断的长字符串更好的东西?

我有一个包含 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>

在上面的代码中,我试图对 Image View 应用一个边距,以强制文本视图在其左边截断与我放入边距一样多的 sp。

上面的代码会将文本视图截断为一行并添加 (...) 但仅添加到该行的末尾;无论 ImageView 是否正确,无论我应用什么边距。图像视图出现在文本上方。我认为这可能是由于它们处于相对布局中。

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

4

1 回答 1

6

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

于 2012-10-08T20:25:06.053 回答