当您尝试过度滚动 android 滚动视图时,会出现发光效果。ICS 及以上为蓝色。我需要把它变成绿色。我已经阅读了很多主题,并注意到没有简单的解决方案来更改这种发光效果颜色,所以我决定完全删除这种效果。这可以通过设置 overScrollMode=never 来完成。但是 minSdkVersion 必须是 9 而我有 8。
问问题
1151 次
2 回答
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;
}
});
}
于 2014-05-06T09:12:34.740 回答
0
为了从滚动视图中删除发光效果,我创建了我的自定义类(扩展了 ScrollView)f 并覆盖了两个方法:
@Override
protected float getTopFadingEdgeStrength() {
return 0.0f;
}
@Override
protected float getBottomFadingEdgeStrength() {
return 0.0f;
}
于 2013-04-15T07:56:28.837 回答