INNER CODE UNIT · Java
currentBase
robinhood/ticker · ticker/src/main/java/com/robinhood/ticker/TickerColumn.java:178
final float currentBase = animationProgress * totalHeight;
// Given the current base, we now can find which character should drawn on the bottom.
// Note that this position is a float. For example, if the bottomCharPosition is
// 4.5, it means that the bottom character is the 4th character, and it has a -50%
// offset relative to the baseline.
final float bottomCharPosition = currentBase / charHeight;
// By subtracting away the integer part of bottomCharPosition, we now have the
// percentage representation of the bottom char's offset.
final float bottomCharOffsetPercentage = bottomCharPosition - (int) bottomCharPosition;
// We might have interrupted a previous animation if previousBottomDelta is not 0f.
// If that's the case, we need to take this delta into account so that the previous
// character offset won't be wiped away when we start a new animation.
// We multiply by the inverse percentage so that the offset contribution from the delta
// progresses along with the rest of the animation (from full delta to 0).
final float additionalDelta = previousBottomDelta * (1f - animationProgress);