在Google Nexus S上,当人们试图拖过ListView的末尾时,会出现黄色渐变,其大小由拖动的距离决定。如何改变这个渐变的颜色?我看不出任何明显的东西。
不 cacheColorHint。
答案 0 :(得分:2)
它似乎在ScrollView实现中是硬编码的。请查看第1389行this,setOverScrollMode()
方法(如果有人更新来源,确切的行号可能会更改):
@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实现而不是标准之一。