2012-01-30 171 views
10

我的滚动视图有一个小问题。每当滚动视图滚动时,它会在滚动视图的边缘显示一个黄色渐变(在我的设备中,它可能会因其他设备而异)。它可以通过在Android 2.3及以上版本中设置属性来消除。更改滚动视图在android的滚动视图的颜色

android:overScrollMode="never" 

现在我想改变默认颜色为其他。如何实现这一点。

请帮我解决这个问题。任何帮助将不胜感激。

+0

顺便说一句,请知道的颜色并不一定为 “橙色”。它依赖于设备。 – 2012-01-30 10:51:58

+0

让它成为任何颜色,是否有任何想法改变这种颜色? – 2012-01-30 10:52:54

+1

根据这个[post] [1],没有办法自然而然地做到这一点。 [1]:http://stackoverflow.com/questions/5897909/how-can-i-change-the-overscroll-color-in-android-2-3-1 – josephus 2012-01-30 11:11:20

回答

7

你应该在你的ListView使用以下属性:

<ListView 
     ... 
     android:overScrollHeader="@drawable/header" 
     android:overScrollFooter="@drawable/footer"/> 

你也可以设置这些编程方式使用setOverscrollFooter(Drawable d)setOverscrollHeader(Drawable d)

+2

我不是问关于滚动视图的ListView。 – 2012-01-30 10:53:58

+0

作为你的答案我已经实现,但仍然没有得到任何图像在Listview的过度滚动 – 2012-07-30 09:11:25

+0

你设法改变颜色?或者你只是删除它?如果你设法改变它,你写了什么作为drawable?查看http://stackoverflow.com/questions/12102108/custom-overscroll-glow-edge-color-for-listview – 2013-02-06 11:51:18

2

这EdgeEffectOverride库工作得很好所有涡旋型的观点:https://github.com/AndroidAlliance/EdgeEffectOverride

例如

<uk.co.androidalliance.edgeeffectoverride.EdgeEffectScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    ... 
    app:edgeeffect_color="@color/red" 
    /> 

而且

EdgeEffectScrollView gridView = (EdgeEffectScrollView) root.findViewById(R.id.myscroll); 
gridView.setEdgeEffectColor(Color.RED); 
+0

[+1]酷库....感谢分享:) – Devrath 2014-06-24 21:01:57

+0

只适用于pre-lollipop – parohy 2016-11-28 08:03:57