gpt4 book ai didi

具有多行的Android Textview ellipsize

转载 作者:太空宇宙 更新时间:2023-11-03 10:23:17 27 4
gpt4 key购买 nike

我试图在具有多行文本的 TextView 末尾获取省略号。 “...”正在显示,但它位于文本的最后一个空格,其他字符后跟其他字符。如何确保“...”始终位于末尾。

参见示例图片 enter image description here

XML 布局文件是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="5dp"
android:orientation="horizontal" >

<TextView
android:id="@+id/nfDateMonth"
android:layout_width="64dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="8dp"
android:layout_marginTop="2dp"
android:background="@drawable/topsegment"
android:gravity="center"
android:text="APR"
android:textAllCaps="true"
android:textColor="#f2e606"
android:textSize="22sp"
android:textStyle="bold" />

<TextView
android:id="@+id/nfDateDate"
android:layout_width="64dp"
android:layout_height="wrap_content"
android:layout_below="@+id/nfDateMonth"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="8dp"
android:background="@drawable/bottomsegment"
android:gravity="center"
android:text="28"
android:textSize="22sp" />

<TextView
android:id="@+id/nfTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:layout_marginTop="0dp"
android:layout_toRightOf="@+id/nfDateMonth"
android:text="Half Marathon"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="16sp" />

<TextView
android:id="@+id/nfContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/nfTitle"
android:layout_gravity="left"
android:layout_marginBottom="2dp"
android:layout_marginRight="16dp"
android:layout_marginTop="2dp"
android:layout_toRightOf="@+id/nfDateDate"
android:ellipsize="end"
android:maxLines="2"
android:text="Content\nline two line three sadsa dsd dsa dsd big big big sd sad sad sadsadsad asd sad as d asd as das das das das da sd asd asd one two three four five sixx seven"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="12sp" />

</RelativeLayout>

最佳答案

我今天遇到了同样的问题。这可能是 TextView 或 TextUtils(方法 ellipsize)中的错误。在我的例子中,它是由带有新行的文本引起的。

有两种解决方法:

  1. 只获取第一行:
String longText = "...";
String body = new Scanner(longText).nextLine();
textView.setText(body);

2。删除文本中的所有新行

String longText = "...";
String body = longText.replace("\n", "").replace("\r", "");
textView.setText(body);

关于具有多行的Android Textview ellipsize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16373998/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com