ScrollableLayout,
use with ScrollableLayout.setCloseUpAlgorithm(CloseUpAlgorithm)ObjectAnimator behavior during close-up animationScrollableLayoutObjectAnimator.setDuration(long) would erase current value set by CloseUpIdleAnimationTime if any presentObjectAnimator.setDuration(long) would erase current value set by CloseUpIdleAnimationTime if any presentCloseUpAlgorithm
With this implementation ScrollableLayout would have only two states - collapsed & expandedScrollableLayout would be considered idleScrollableLayout would be considered idleScrollerScrollableLayout has changed.ViewGroup for implementing Scrollable.DefaultCloseUpAlgorithm might be set with
xml definition ( app:scrollable_defaultCloseUp="true")SimpleCloseUpIdleAnimationTime might be set with xml definition
( app:scrollable_closeUpAnimationMillis="200") app:scrollable_considerIdleMillis="100")Scrollerscrollable_maxScrollOnScrollChangedListener
if you wish to get notifications when scroll state of this View has changed.