Search code examples
androidscrollviewandroid-scrollview

Rotating ScrollView


Can't find any information on how to create a rotating ScrollView in Android. With this I mean a ScrollView that restarts when reaching the last element.

I have started to implement my own custom ScrollView that scrolls to the beginning when reaching bottom. But there are still many corner cases that I need to take care off to make it smooth. (Have just put a few minutes on it so far)

public class CardScrollView extends ScrollView {

    public CardScrollView(Context context, AttributeSet attrs,
                                 int defStyle) {
        super(context, attrs, defStyle);
    }

    public CardScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CardScrollView(Context context) {
        super(context);
    }

    @Override
    protected void onScrollChanged(int l, int t, int oldl, int oldt) {
        View view = (View) getChildAt(getChildCount()-1);
        int diff = (view.getBottom()-(getHeight()+getScrollY()));

        if (diff == 0) {
            scrollTo(0, -300);
        }

        super.onScrollChanged(l, t, oldl, oldt);
    }
}

I was thinking there should be many people tried doing this before me but can find much information on google. Can anyone point me in the right direction before I spend days into developing my own view?


Solution

  • Turned out a ViewPager is better for my purpose. I found some example code from here.

    https://github.com/acbelter/DirectionalCarousel