【发布时间】:2017-08-02 00:16:17
【问题描述】:
我试图在向上滚动时将我的一些视图颜色从“color1”转换为“color2”,在向下滚动时反之亦然。
视图位于 CoordinateLayout 内部,而 Scroll Listener 实现位于 Custom Behaviour 内部。
当前实现 UpScroll:
int balanceLabelTextColor = Color.rgb(
(int) (Color.red(color1) * magicFactor),
(int) (Color.green(color1) * magicFactor),
(int) (Color.blue(color1) * magicFactor)
);
balanceLabel.setTextColor(balanceLabelTextColor);
当前实现 DownScroll:
int balanceLabelTextColor = Color.rgb(
(int) (Color.red(color2) * magicFactor),
(int) (Color.green(color2) * magicFactor),
(int) (Color.blue(color2) * magicFactor)
);
balanceLabel.setTextColor(balanceLabelTextColor);
'magicFactor' 根据滚动位置从 (0,1) 取值。
当您只向上或向下滚动时,这可以正常工作。当您在中途将滚动方向从上更改为下时,转换会触发,反之亦然。
正在寻找一种同时采用“color1”和“color2”并产生中间值以实现平滑颜色过渡的实现。
谢谢。
【问题讨论】:
标签: android android-recyclerview android-animation android-coordinatorlayout