您的位置:首页 > 移动开发

禁用滚动视图ListView、ViewPager、ScrollView、HorizontalScrollView、WebView边界颜色渐变

2013-07-22 17:34 766 查看
[b]禁用滚动视图ListView、ViewPager、ScrollView、HorizontalScrollView、WebView边界颜色渐变 [/b]

ListView、ViewPager、ScrollView、HorizontalScrollView、WebView等滚动试图控件在高版本(一般是2.3及以上版本)上边界会显示一个渐变的颜色,下面是去掉这些颜色的方法:

1、ListView的父类AbsListView.java中有以下的一个方法:

@Override

public void setOverScrollMode(int mode) {

if (mode != OVER_SCROLL_NEVER) {

if (mEdgeGlowTop == null) {

Context context = getContext();

mEdgeGlowTop = new EdgeEffect(context);

mEdgeGlowBottom = new EdgeEffect(context);

}

} else {

mEdgeGlowTop = null;

mEdgeGlowBottom = null;

}

super.setOverScrollMode(mode);

}

在低版本上面没有这个方法,就是这个mEdgeGlowTop、mEdgeGlowBottom这两个货导致的边界渐变颜色。解决方法如下:你可以在自定义的ListView中调用,也可以在Activity或者Fragment的ListView属性调用:

try {

Method method = getClass().getMethod("setOverScrollMode", int.class);

Field field = getClass().getField("OVER_SCROLL_NEVER");

if(method != null && field != null){

method.invoke(this, field.getInt(View.class));

}

} catch (Exception e) {

e.printStackTrace();

}

2、ScrollView、HorizontalScroll以及WebView的情况和ListView相同,处理方法也一样。

3、ViewPager有些特殊,需要特殊处理,请参考我的这篇博客:http://www.cnblogs.com/xinye/p/3142704.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐