如何在Android中使用渐变效果截断文本?

4
我知道这个问题以前已经被问过,但是被接受的答案不起作用,而且没有任何评论能帮助我。我正在尝试使用ellipsize="marquee"来截断我的文本,并产生一个淡出效果,而不是省略号。如何在Android sdk中使用fade/fading edge替换textview中的省略号?
<TextView
  android:layout_width="200dp"
  android:layout_height="wrap_content"
  android:text="LOREM IPSUM SCARAMOUCHE SCRARAMOUCHE GALILEO PACCIORETTY"
  android:singleLine="true"
  android:ellipsize="marquee"/>

我希望我可以发布一张截图,但SE不允许我这样做。屏幕上看起来像这样:

LOREM IPSUM SCARAMOUC..

这个词并没有淡出,并且也没有显示省略号,而是显示了两个点。

请注意,我不想让文本滚动,我只想用淡出效果截断文本,而不是使用省略号。


marquee 是滚动显示, end 用于在末尾截断。 - Xcihnegn
如何在结尾处使用淡出效果进行截断呢? - iamverysmart
@iamverysmart,你找到解决问题的方法了吗? - Shobhit Puri
2个回答

1
你可以使用

标签


android:requiresFadingEdge="horizontal"
android:fadingEdgeLength="@dimen/align_twenty"
android:fadeScrollbars="false"
android:ellipsize="none"

0
你也可以通过编程来实现这个功能:
TextView yourTextView = findViewById(R.id.your_textview);    
yourTextView.setSingleLine(true);
yourTextView.setEllipsize();
yourTextView.setHorizontalFadingEdgeEnabled(true);
yourTextView.setFadingEdgeLength(20);
yourTextView.setHorizontalFadingEdgeEnabled(true);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接