您的位置:首页 > 其它

ListView拖(滚)动到顶部或底部时出现阴影的解决方案

2015-11-12 09:43 369 查看
在listview中滑动到顶部或者是底部的时候,在默认的情况下,是会有黄色或者黑色的阴影出现。
这个该怎么解决呢,请往下看:
在不同的版本上解决的方法是不同的,在2.3之前可以在listview的属性中通过设置android:fadingEdge="none"来解决问题,但是在2.3及以上这个是不行的,这里,可以通过代码来设置模式,禁止其阴影的出现,以免影响美观。请看代码:
在AbsListView中,有这么一段:

@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);

}

所以,我们的解决方案来了,

public class MyListView extends ListView {

public MyListView(Context context, AttributeSet attrs) {

super(context, attrs);

if (Integer.parseInt(Build.VERSION.SDK) >= 9) {

this.setOverScrollMode(View.OVER_SCROLL_NEVER);

}

}

}

直接设置上面红色那句就ok了.

由此,listview中滚动拖动到顶部或者底部时的阴影完美解决。

转载:http://blog.csdn.net/nanlus/article/details/8170618
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: