robinhood / ticker

An Android text view with scrolling text change animation
https://medium.com/robinhood-engineering/hello-ticker-20eaf6e51689
Apache License 2.0
4.38k stars 462 forks source link

Support for Automatic Direction #102

Open dumbfingers opened 5 years ago

dumbfingers commented 5 years ago

Thanks for this amazing library.

This is potentially a feature request for adding two new scrolling direction modes: AUTO_ASC and AUTO_DESC They are all based on if the newer text is greater or less than the current one.

For AUTO_ASC mode, ideally it would work like this: if the original text is number of 1234 and the new one is 1243, since the value of new text is greater than the old text, it would scrolling down

Similarly for AUTO_DESC mode, it would scroll up.

Would this feature be nice to have or we already have something similar?

jinatonic commented 5 years ago

hey thanks for the suggestions. instead of adding two new scrolling modes, how about if i add a new preferredScrollingDirection that mirrors the delta change? e.g. if the change is positive, it'll scroll down, otherwise it'll scroll up.

dumbfingers commented 5 years ago

@jinatonic I think currently the library is handling each column individually. Would the new preferredScrollingDirection be able to make the whole number scrolling together based on the positive/negative change?

jinatonic commented 5 years ago

yes each column scrolls individually. can you clarify on what you mean by "whole number scrolling together based on change"?

dumbfingers commented 5 years ago

@jinatonic 🤔 I found it might be easier to go for both of us with an example e.g. original value = 1289 new value = 2198

then under the new preferredScrollingDirection how it would scroll?

jinatonic commented 5 years ago

hey sorry for the late followup, I totally forgot about this.

in your example, each digit will simply scroll to the target number directly, e.g. 1 -> 2, 2 -> 1. if you have a set preferred scrolling direction (e.g. down), then 1 -> 2, but 2 -> 3 -> 4 -> ... -> 9 -> 0 -> 1. does that make sense?