删除滚动发光效果/箭头

时间:2013-04-15 07:53:15

标签: android listview scroll

当您尝试过度滚动Android滚动视图时,会出现一个发光效果。在ICS及以上版本上它是蓝色的。我需要让它变绿。我已经阅读了很多主题,并注意到没有简单的解决方案来改变这种发光效果颜色,所以我决定完全消除这种效果。这可以通过设置overScrollMode = never来完成。但是当我拥有它时,minSdkVersion必须是9。

2 个答案:

答案 0 :(得分:0)

要从scrollview中删除发光效果,我已创建自定义类(扩展ScrollView)并覆盖两个方法:

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

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

答案 1 :(得分: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;
        }
    });
}