如何使TextView具有渐弱的边缘?

时间:2016-06-04 14:00:42

标签: android android-recyclerview textview

我有一些通用的编程知识,但我是android开发的新手,我已经开始使用RecyclerView并且我也使用了cardview。但在某些情况下,标题太长了,我只想添加一个渐弱的边缘。

我在here搜索过,但我找不到任何东西。所以我自己尝试了,但我无法让它发挥作用。我也在RecyclerView之外使用它,但结果仍然相同。

我正在使用的代码。

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Hello World"
    android:id="@+id/textView"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:textSize="25sp"
    android:textStyle="bold"
    android:fadingEdge="horizontal" <!-- I think those 2 lines should do it,
    android:fadingEdgeLength="40dp"/>

我想在Play商店中使用此图片制作淡出的TextView:

picture

3 个答案:

答案 0 :(得分:18)

根据https://developer.android.com/reference/android/R.attr.html#fadingEdge android:fadingEdge已弃用。

它应该与requiresFadingEdge="horizontal"android:ellipsize="none"

一起使用
android:requiresFadingEdge="horizontal"
android:fadingEdgeLength="40dp"
android:ellipsize="none"

如果您希望文字褪色,我建议您使用android:layout_width="match_parent"android:layout_width="100dp"之类的内容。

答案 1 :(得分:1)

android 6.0.1

此代码有效

textView.setSelected(true);

并且不要忘记

{{1}}

答案 2 :(得分:0)

就我而言,@ vansgelist的回答非常有效,尽管褪色有些微妙(对于该特定项目)。

最后,我必须在@ gus27的答案中添加android:singleLine="true"才能使其起作用并获得我想要的效果:

android:requiresFadingEdge="horizontal"
android:fadingEdgeLength="40dp"
android:ellipsize="none"
android:singleLine="true"