控制ListViews中淡入淡出边缘的颜色

Mel*_*var 14 android listview

我的主题源自Android的默认灯光主题.我的ListViews配置了白色背景,我猜这是一个副作用,渐变边缘的颜色是白色,这不是我想要的东西 - 我希望它们是黑色的.

简单地改变边缘的颜色似乎是不可能的(虽然我可以控制长度和其他因素),并且通常建议使用黑色颜色列表视图的提示颜色会导致列表滚动时出现一些相当可怕的副作用.

任何人都可以建议一种可靠的方法将褪色边缘的颜色改为任意颜色吗?

Sco*_*ott 35

这实际上要容易得多.

您可以使用:'android:cacheColorHint'设置将淡入淡出的颜色更改为您想要的任何颜色.

例如:

<ListView
....
android:cacheColorHint="#FFFFFF"
/>
Run Code Online (Sandbox Code Playgroud)


Rom*_*Guy 18

不幸的是,你不能轻易做到这一点.渐弱边缘的整个点是淡入背景,而不是绘制一些随机颜色.但是,您可以尝试扩展ListView并覆盖getSolidColor()以返回淡化边所需的颜色.它应该工作得很好.


Dan*_*vey 10

我有一个问题,白色是"Overscroll"颜色,实际上并不是褪色边缘.

试试这个(假设你想要一个渐弱的边缘,但是当你到达目的地时不是那个可怕的白色眩光!(否则设置需要渐弱的边缘到没有)):

<ListView
    android:id="@+id/listview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:cacheColorHint="#00000000"
    android:requiresFadingEdge="vertical"
    android:fadingEdgeLength="10dp" 
    android:overScrollMode="never" >      </-- this is the line you want i think -->
</ListView> 
Run Code Online (Sandbox Code Playgroud)