TextView隐藏了我可以看到的最后一个单词

时间:2016-11-18 06:43:40

标签: android textview partial visible words

例如,我们有2个单词的组合:“Firstword secondword”。 Textview有1行,它的宽度不大,所以第一个单词是可见的,第二个单词是长的,以适应休息空间,它不可见:[Firstword______] 如何实现第二个字的部分可见性? 像这[Firstword secon]或[Firstword seco ...](和ellipsize)。可能吗? 我在一些主题中看到我想要的是使用ellipsize时的默认行为,但不是我的情况。

编辑:android:ellipsize =“end”android:maxLines =“1”仅在xml布局预览中起作用,但在运行时不起作用。

3 个答案:

答案 0 :(得分:3)

找到了解决方案。

这个xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Helloooooooooooooooooooooo Wooooooooooooooooooooooooorld!"
        android:id="@+id/tv1"
        android:textColorLink="@android:color/holo_blue_dark"
        android:ellipsize="end"
        android:singleLine="true"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Helloooooooooooooooooooooo Wooooooooooooooooooooooooorld!"
        android:id="@+id/tv2"
        android:textColorLink="@android:color/holo_blue_dark"
        android:ellipsize="end"
        android:lines="1"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Helloooooooooooooooooooooo Wooooooooooooooooooooooooorld!"
        android:id="@+id/tv3"
        android:textColorLink="@android:color/holo_blue_dark"
        android:ellipsize="end"
        android:maxLines="1"/>
</LinearLayout>

在设计预览中渲染 enter image description here

好的,所有的椭圆形都在这里工作。 但在真实设备上它看起来像 enter image description here

机器人:SINGLELINE =&#34;真&#34;尽管它已被弃用,但它才有效。 测试了3个设备。

答案 1 :(得分:1)

在TextView中添加这些

<强>机器人:ellipsize =&#34;端&#34; 机器人:MAXLINES =&#34; 1&#34;

<TextView
   android:id="@+id/myTextView"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:ellipsize="end"
   android:maxLines="1"/>

答案 2 :(得分:0)

如果我理解你想要以编程方式设置textView:

textView.setEllipsize(TextUtils.TruncateAt.END);