淡出 TextView 的最后几行

Jam*_*mes 4 android fade out textview

我一直在研究,我无法找到正确的答案。

我自己也无法做到这一点,所以请帮帮我

我有一个InfoWindowDialog我正在创建的视图,它有一个TextView,有一个maxHeight.

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin">

        <TextView
            android:id="@+id/txt_desc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="LONG_TEXT_WHICH_HAS_A_FEW_LINES..."
            android:maxHeight="50dp"/>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我想实现类似于本示例最后几行的内容:

在此处输入图片说明

在此处输入图片说明

我已经尝试了一个解决方案提到淡出 textview android 的底部

通过放置android:requiresFadingEdge="vertical并且android:fadingEdgeLength="32dp"没有结果。

por*_*der 5

对此有几种解决方案。最简单的方法是添加一个 UI 元素。在视图底部添加一个具有某种透明度的叠加图形,例如 50%。这将实现您的要求。

要考虑的其他选项:

1) 跟踪最后一行文本,将其分解,并为其添加 50% 的透明度。

2) 跟踪最后一行文本,将其拆分,并将颜色更改为不同的灰色。这给人一种透明的印象

3) 如果使用滚动视图,它们具有渐隐边缘特征。

<ScrollView android:requiresFadingEdge="vertical">
Run Code Online (Sandbox Code Playgroud)

在您的代码中,您可以执行以下操作

ScrollView scroll = findById(); scroll.setFadingEdgeLength(150);
Run Code Online (Sandbox Code Playgroud)

或在您的 XML 中使用android:fadingEdgeLength="150dp". 干杯!