Viewpager 去掉两侧的光晕效果

方案1:

viewPager.setOverScrollMode(viewPager.OVER_SCROLL_NEVER);  

方案2:通过反射的办法,直接操作具体控件具体的控件

private void initViewPager() {
    try {
      Field leftEdgeField = viewpager.getClass().getDeclaredField("mLeftEdge");
      Field rightEdgeField = viewpager.getClass().getDeclaredField("mRightEdge");
      if (leftEdgeField != null && rightEdgeField != null) {
        leftEdgeField.setAccessible(true);
        rightEdgeField.setAccessible(true);
        leftEdge = (EdgeEffectCompat) leftEdgeField.get(viewpager);
        rightEdge = (EdgeEffectCompat) rightEdgeField.get(viewpager);
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}


public void onPageScrolled(int arg0, float arg1, int arg2) {
    if (leftEdge != null && rightEdge != null) {
      leftEdge.finish();
      rightEdge.finish();
      leftEdge.setSize(0, 0);
      rightEdge.setSize(0, 0);
    }
  }

 

posted @ 2015-06-02 10:17  lipeil  阅读(3774)  评论(0编辑  收藏  举报