如何根据剩余空间包装文本并添加三个点?

时间:2013-11-17 14:52:52

标签: android text textwrapping

当我几乎到达屏幕的一半时,我应该如何使用textview来包装文本,我使用text.substring完成它并将文本长度限制为15并添加三个点 但是我在s4上测试了它,它甚至没有达到一半,15个文本长度太小而无法包装它,有没有办法用剩余空间对其进行子串?

为了澄清这个问题,我有一个textview,当文本长度达到屏幕宽度的一半时,它会剪切文本并在最后添加三个点。

1 个答案:

答案 0 :(得分:0)

这是一种方法。

<?xml version="1.0" encoding="utf-8"?>
<!-- Use a linear layout to fill the width -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <!-- using weights of 1, will divide screen into two halves -->

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ellipsize="end"
        android:padding="5dp"
        android:text="This is a test for ellipsize. You can see it works :)"
        android:maxLines="1" />

    <!-- this is basically a dummy view, nothing will be displayed -->

    <View
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_weight="1" />

</LinearLayout>

我没有在IDE中尝试过,但我认为它应该可行。 希望这会有所帮助。