How to know ViewPager has scrolled half the screen in android

前端 未结 4 1668
无人及你
无人及你 2020-12-14 11:22

I want to know that the ViewPagers View has scrolled half the screen or not?

While I am dragging it, if it has covered half the screen I want to change

4条回答
  •  -上瘾入骨i
    2020-12-14 12:01

    It can be achieved without mNextSelectedScreen. Do what you want on setPage().

    private int mCurrentPage;
    
    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    
        if (position == mCurrentPage) {
            // It's gone to right.
            if (positionOffset > 0.5) {
                setPage(position + 1);
            }
            // Not yet.
            else {
                setPage(position);
            }
        } else {
            // It's gone to left.
            if (positionOffset < 0.5) {
                setPage(position);
            }
            // Not yet.
            else {
                setPage(position + 1);
            }
        }
    }
    
    @Override
    public void onPageSelected(int position) {
        mCurrentPage = position;
        setPage(position);
    }
    

提交回复
热议问题