在ListView末尾更改渐变颜色

时间:2011-06-14 14:53:05

标签: android

在Google Nexus S上,当人们试图拖过ListView的末尾时,会出现黄色渐变,其大小由拖动的距离决定。如何改变这个渐变的颜色?我看不出任何明显的东西。

cacheColorHint。

1 个答案:

答案 0 :(得分:2)

它似乎在ScrollView实现中是硬编码的。请查看第1389行thissetOverScrollMode()方法(如果有人更新来源,确切的行号可能会更改):

@Override
 public void setOverScrollMode(int mode) {
     if (mode != OVER_SCROLL_NEVER) {
         if (mEdgeGlowTop == null) {
             final Resources res = getContext().getResources();
             final Drawable edge = res.getDrawable(R.drawable.overscroll_edge);
             final Drawable glow = res.getDrawable(R.drawable.overscroll_glow);
             mEdgeGlowTop = new EdgeGlow(edge, glow);
             mEdgeGlowBottom = new EdgeGlow(edge, glow);
         }
     } else {
         mEdgeGlowTop = null;
         mEdgeGlowBottom = null;
     }
     super.setOverScrollMode(mode);
 }

我能看到的唯一方法是定义您自己的ScrollView实现,覆盖setOverScrollMode()以使用您自己的drawable,然后实现您自己的ListView,它将使用您的ScrollView实现而不是标准之一。