我已经阅读了其他一些有类似问题的线索,但他们的答案似乎都不适合我.
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是否合适,无论我申请什么保证金.图像视图显示在文本上方.我想这可能是因为他们处于相对布局.
任何有关如何使文本视图尊重图像视图占用的边距/空间的帮助将不胜感激.
解决方法
我相信你想要做的是首先放置图像视图(带边距),然后将文本设置为与左边框对齐,并放置在左边的图像上.