2011年9月20日火曜日

Android Scroll の終端のピカッを消す

Android 2.3 (Gingergread) からスクロールが終端までいくと、(デフォルトでは)オレンジ色にピカッと光ります。



これはこれでいいんですけど、デザインに合わないときもあります。



このピカッがどこで設定されているか調べると
AbsListView の setOverScrollMode() でした。
ここをみると、OverScrollMode が OVER_SCROLL_NEVER であれば、ピカッがなしになることがわかります。
  1. 650     public void setOverScrollMode(int mode) {  
  2. 651         if (mode != OVER_SCROLL_NEVER) {  
  3. 652             if (mEdgeGlowTop == null) {  
  4. 653                 final Resources res = getContext().getResources();  
  5. 654                 final Drawable edge = res.getDrawable(R.drawable.overscroll_edge);  
  6. 655                 final Drawable glow = res.getDrawable(R.drawable.overscroll_glow);  
  7. 656                 mEdgeGlowTop = new EdgeGlow(edge, glow);  
  8. 657                 mEdgeGlowBottom = new EdgeGlow(edge, glow);  
  9. 658             }  
  10. 659         } else {  
  11. 660             mEdgeGlowTop = null;  
  12. 661             mEdgeGlowBottom = null;  
  13. 662         }  
  14. 663         super.setOverScrollMode(mode);  
  15. 664     }  
ということで、ピカッとさせたくない場合は
  1. mListView.setOverScrollMode(View.OVER_SCROLL_NEVER);  
とすれば OK。

0 件のコメント:

コメントを投稿