更改滚动条的背景色

时间:2019-11-03 17:08:51

标签: java android

我有一个滚动视图,当用户滚动它时,我想慢慢地逐渐改变背景颜色。如何实现以下目标?

1 个答案:

答案 0 :(得分:1)

使用NestedScrollView并附加一个OnScrollChangeListener。然后将其与ARGBEvaluator组合以生成颜色,并设置您的背景。我要从记忆中走出来,但是像这样:

final ArgbEvaluator evaluator = new ArgbEvaluator();
final colorStart = Color.GREEN;
final colorEnd = Color.BLUE;
nestedScrollView.setOnScrollChangedListener((view, scrollX, scrollY, oldX, oldY) -> {
    final float height = (float) v.getHeight();
    if(height <= 0) return;

    final float progress = (float)((float)scrollY/v.getHeight());
    background.setBackgroundColour((int)evaluator.evaluate(progress, startColor, endColor);
});