关于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);
}
}
}
由此,listview中滾動拖動到頂部或者底部時的陰影完美解決。
法二:
在xml文件里listView控件上加上下面的屬性:
android:overScrollMode="never"
寫得不怎么樣,大家共同學習,一起探討。本帖地址:http://blog.csdn.net/nanlus/article/details/8170618
轉載于:https://www.cnblogs.com/chengliu/p/4130599.html
總結
以上是生活随笔為你收集整理的关于ListView顶部和底部滚(拖)动出现阴影解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 理顺 JavaScript (4) -
- 下一篇: Redhat 释放cached 内存