2013-04-15 129 views
2

當您嘗試過度滾動android滾動視圖時,會出現發光效果。它在ICS和以上是藍色的。我需要把它變成綠色。我已經閱讀了很多主題,並注意到沒有簡單的解決方案來改變這種發光效果顏色,所以我決定完全消除這種效果。這可以通過設置overScrollMode = never來完成。但是的minSdkVersion必須是9,而我有8刪除滾動發光效果/箭頭

回答

0

要刪除滾動型發光效果,我已經建立了我的自定義類(擴展滾動型)f和覆蓋兩個方法:

@Override 
protected float getTopFadingEdgeStrength() { 
    return 0.0f; 
} 

@Override 
protected float getBottomFadingEdgeStrength() { 
    return 0.0f; 
} 
+0

我需要用它來ViewPager,WebView中,ListView控件等方面的工作有很多跟水平反彈時的效果。此外,我正在使用拉刷新庫,所以也許有一個簡單的解決方案? – Lingviston

+0

哦,對於這種情況下,我沒有任何工作解決方案:( –

0

我創建了一個方法解決這個問題。這不是完美的,但它確實有效。你可以試試看。 這裏是我的代碼:

private void removeViewPagerGlowEffect(final ViewPager viewpager, final Context context) { 
    viewpager.setOnTouchListener(new OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      viewpager.onTouchEvent(event); 
      try { 
       Field leftEdge = viewpager.getClass().getDeclaredField("mLeftEdge"); 
       leftEdge.setAccessible(true); 
       EdgeEffectCompat effectObject = new EdgeEffectCompat(context); 
       effectObject.setSize(0, 0); 
       leftEdge.set(viewpager, effectObject); 

       Field rightEdge = viewpager.getClass().getDeclaredField("mRightEdge"); 
       rightEdge.setAccessible(true); 
       leftEdge.set(viewpager, effectObject); 
       rightEdge.set(viewpager, effectObject); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
      return false; 
     } 
    }); 
}