在 ListView 中,是否可以只从一个边缘淡入元素?

Nik*_*hil 3 xml android listview styling fading

我正在使用一个简单的列表视图并希望淡出一个边缘,而不是我目前正在使用的两个或四个:

<ListView
    android:id="@+id/main_feed"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:requiresFadingEdge="vertical"
    android:fadingEdgeLength="50dp" >
</ListView>
Run Code Online (Sandbox Code Playgroud)

我只想淡化一个边缘(底部边缘),但是在 requiresFadingEdge 中执行“垂直”或“水平”分别淡化顶部/底部或左侧/右侧。

有什么建议?

Iva*_*ldt 5

我知道这是一个老问题,但我找到了一种方法来做到这一点。只需创建自己的类来扩展 ListView 并像这样覆盖 getTopFadingStrength() 方法:

@Override
protected float getTopFadingEdgeStrength() {
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这将消除顶部的淡入淡出,但保留底部的淡入淡出,然后在您的 XML 中只使用您的 ListView 实现。