Android:在TextView中切换为长多行文本

Android:在TextView中切换为长多行文本,android,textview,Android,Textview,我有一个文本视图,其高度取决于以前的内容,但其中可能有一个长文本。我怎样才能在正确的点上把它剪掉,然后把三个点或类似的东西连在一起呢 现在看起来是这样的: 我找到了一些单行文本的解决方案,但是它如何处理多行文本呢?我也不知道行数,因为这取决于屏幕大小 Android上还有其他典型的方式来显示文本可以扩展吗?例如,最后一行的颜色渐变 编辑: 当我在没有固定高度的情况下这样做时,我必须使高度取决于上面的元素,我的XML将如下所示: <TextView android:id="@+id/

我有一个文本视图,其高度取决于以前的内容,但其中可能有一个长文本。我怎样才能在正确的点上把它剪掉,然后把三个点或类似的东西连在一起呢

现在看起来是这样的:

我找到了一些单行文本的解决方案,但是它如何处理多行文本呢?我也不知道行数,因为这取决于屏幕大小

Android上还有其他典型的方式来显示文本可以扩展吗?例如,最后一行的颜色渐变

编辑:

当我在没有固定高度的情况下这样做时,我必须使高度取决于上面的元素,我的XML将如下所示:

<TextView
   android:id="@+id/podcastShortDesc"
   android:text="Long text"
   android:layout_below="@+id/podcastTitle"
   android:layout_toRightOf="@+id/podcastLogo"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"

   android:maxLines="3"
   android:ellipsize="end"

   android:layout_above="@+id/podcastMoreAction" />

当我指定maxLines时,我很幸运,它会工作:

但如果标题太大,它就不起作用:


试试这个。希望它能起作用

<TextView
android:id="@+id/podcastShortDesc"
android:text="LONG LONG LONG TEXT"
android:layout_width="match_parent"
android:layout_height="50dip"
android:maxHeight="50dp"
android:ellipsize="end"/>


我已经测试过50dp可以显示正常字体大小的两行。因此,在50dp高度中,您应该添加maxLines 2。

您应该在末尾添加以下“3点”代码

android:ellipsize="end"
您应该删除“固定高度”属性

android:layout_height="50dip"
相反,您应该添加行数

android:maxLines="4"  
android:layout_height="wrap_content"  

安卓将负责其他一切。这样,即使文本小于4行,android也会注意大小。如果超过4行,它将添加“3点”:)指定固定高度可以剪切文本。

尝试此固定布局\u高度并在文本视图中添加滚动

<TextView
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="50dip"
android:text="Hello......"
android:scrollbars="vertical"/>


android:layout\u height=“50dip”固定高度将导致问题。删除它以包装内容。添加ellipsize:end和android:lines我有一个固定的高度,我想知道如何调整太长的文本,并在正确的位置将其截断。@Eknoes你找到解决方案了吗it@JyotiJK我不太记得了,但我不认为so@Eknoes谢谢你的回答,这真是一个需要解决的好问题,我不知道我有多少行-这将是不同的。所以我不想指定最大行数。如果你不知道高度。您应该添加maxHeight。如果你添加maxHeight,它会自动添加垂直滚动条。我刚刚更新了我的问题,也许我的问题现在更容易理解了。谢谢!但不幸的是,我不知道maxLines,这取决于之前的内容。我刚刚更新了我的问题来解释这一点。