淡出TextView的最后几行

时间:2016-12-13 20:12:38

标签: android textview fade out

我一直在研究,我无法找到合适的答案。

我也无法自己实现这一目标,所以请帮帮我

我有一个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>

我希望实现类似于此示例的最后几行的内容:

enter image description here

enter image description here

我尝试过提及Fade bottom of a textview android

的解决方案

放置 android:requiresFadingEdge="vertical&#34; android:fadingEdgeLength="32dp" ,但没有结果。

1 个答案:

答案 0 :(得分:2)

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

其他需要考虑的选项:

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

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

3)如果使用scrollview,它们会有淡化边缘特征。

<ScrollView android:requiresFadingEdge="vertical">

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

ScrollView scroll = findById(); scroll.setFadingEdgeLength(150);

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