例如,我们有2个单词的组合:“Firstword secondword”。 Textview有1行,它的宽度不大,所以第一个单词是可见的,第二个单词是长的,以适应休息空间,它不可见:[Firstword______] 如何实现第二个字的部分可见性? 像这[Firstword secon]或[Firstword seco ...](和ellipsize)。可能吗? 我在一些主题中看到我想要的是使用ellipsize时的默认行为,但不是我的情况。
编辑:android:ellipsize =“end”android:maxLines =“1”仅在xml布局预览中起作用,但在运行时不起作用。
答案 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>
机器人: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);