Example usage for android.support.v4.view ViewPager SCROLL_STATE_IDLE

List of usage examples for android.support.v4.view ViewPager SCROLL_STATE_IDLE

Introduction

In this page you can find the example usage for android.support.v4.view ViewPager SCROLL_STATE_IDLE.

Prototype

int SCROLL_STATE_IDLE

To view the source code for android.support.v4.view ViewPager SCROLL_STATE_IDLE.

Click Source Link

Document

Indicates that the pager is in an idle, settled state.

Usage

From source file:android.support.wear.widget.drawer.PageIndicatorView.java

public PageIndicatorView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);

    final TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.PageIndicatorView, defStyleAttr,
            R.style.WsPageIndicatorViewStyle);

    mDotSpacing = a.getDimensionPixelOffset(R.styleable.PageIndicatorView_wsPageIndicatorDotSpacing, 0);
    mDotRadius = a.getDimension(R.styleable.PageIndicatorView_wsPageIndicatorDotRadius, 0);
    mDotRadiusSelected = a.getDimension(R.styleable.PageIndicatorView_wsPageIndicatorDotRadiusSelected, 0);
    mDotColor = a.getColor(R.styleable.PageIndicatorView_wsPageIndicatorDotColor, 0);
    mDotColorSelected = a.getColor(R.styleable.PageIndicatorView_wsPageIndicatorDotColorSelected, 0);
    mDotFadeOutDelay = a.getInt(R.styleable.PageIndicatorView_wsPageIndicatorDotFadeOutDelay, 0);
    mDotFadeOutDuration = a.getInt(R.styleable.PageIndicatorView_wsPageIndicatorDotFadeOutDuration, 0);
    mDotFadeInDuration = a.getInt(R.styleable.PageIndicatorView_wsPageIndicatorDotFadeInDuration, 0);
    mDotFadeWhenIdle = a.getBoolean(R.styleable.PageIndicatorView_wsPageIndicatorDotFadeWhenIdle, false);
    mDotShadowDx = a.getDimension(R.styleable.PageIndicatorView_wsPageIndicatorDotShadowDx, 0);
    mDotShadowDy = a.getDimension(R.styleable.PageIndicatorView_wsPageIndicatorDotShadowDy, 0);
    mDotShadowRadius = a.getDimension(R.styleable.PageIndicatorView_wsPageIndicatorDotShadowRadius, 0);
    mDotShadowColor = a.getColor(R.styleable.PageIndicatorView_wsPageIndicatorDotShadowColor, 0);
    a.recycle();/*from  w ww. j a  v  a  2  s . c  o m*/

    mDotPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
    mDotPaint.setColor(mDotColor);
    mDotPaint.setStyle(Style.FILL);

    mDotPaintSelected = new Paint(Paint.ANTI_ALIAS_FLAG);
    mDotPaintSelected.setColor(mDotColorSelected);
    mDotPaintSelected.setStyle(Style.FILL);
    mDotPaintShadow = new Paint(Paint.ANTI_ALIAS_FLAG);
    mDotPaintShadowSelected = new Paint(Paint.ANTI_ALIAS_FLAG);

    mCurrentViewPagerState = ViewPager.SCROLL_STATE_IDLE;
    if (isInEditMode()) {
        // When displayed in layout preview:
        // Simulate 5 positions, currently on the 3rd position.
        mNumberOfPositions = 5;
        mSelectedPosition = 2;
        mDotFadeWhenIdle = false;
    }

    if (mDotFadeWhenIdle) {
        mVisible = false;
        animate().alpha(0f).setStartDelay(2000).setDuration(mDotFadeOutDuration).start();
    } else {
        animate().cancel();
        setAlpha(1.0f);
    }
    updateShadows();
}

From source file:com.kanhan.widget.PagerContainer.java

@Override
public void onPageScrollStateChanged(int position) {
    mNeedsRedraw = (position != ViewPager.SCROLL_STATE_IDLE);

}

From source file:cz.maresmar.sfm.view.menu.CursorPagerFragment.java

@Override
public void onPageScrollStateChanged(int state) {
    if (getPagerAdapter().getCount() > 1) {
        // Fixing sensitivity of SwipeUpdateLayout
        // see https://stackoverflow.com/a/29946734/1392034 for more
        mListener.enableSwipeRefresh(state == ViewPager.SCROLL_STATE_IDLE);
    }// www .j  av  a 2  s .  c om
}

From source file:com.ayuget.redface.ui.fragment.TopicFragment.java

@Override
public void onPageScrollStateChanged(int state) {
    // Keep track of scroll state in order to detect if scrolling has been done
    // manually by the user, or programatically. It allows us to disable some automatic
    // scrolling behavior that can be annoying (and buggy) in some corner cases
    if (previousViewPagerState == ViewPager.SCROLL_STATE_DRAGGING && state == ViewPager.SCROLL_STATE_SETTLING) {
        userScrolledViewPager = true;//from  w w  w . j  a va2 s  .c o  m

        // Reset current page position because user triggered page change
        currentPagePosition = null;
    } else if (previousViewPagerState == ViewPager.SCROLL_STATE_SETTLING
            && state == ViewPager.SCROLL_STATE_IDLE) {
        userScrolledViewPager = false;
    }

    previousViewPagerState = state;
}

From source file:com.chibatching.imgindicatortab.ImgIndicatorTab.java

@Override
public void onPageSelected(int position) {
    mTextCurrentPage = position;/*w  ww . j  a va  2  s  .co m*/
    if (mScrollState == ViewPager.SCROLL_STATE_IDLE) {
        mCurrentPage = position;
        invalidate();
    }
    if (mListener != null) {
        mListener.onPageSelected(position);
    }
}

From source file:com.b44t.ui.IntroActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.Theme_MessengerProj);
    super.onCreate(savedInstanceState);
    Theme.loadRecources(this);
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    if (AndroidUtilities.isTablet()) {
        setContentView(R.layout.intro_layout_tablet);
    } else {//w w  w . jav a 2  s. co m
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        setContentView(R.layout.intro_layout);
    }

    if (LocaleController.isRTL) {
        icons = new int[] { R.drawable.intro7, R.drawable.intro6, R.drawable.intro5, R.drawable.intro4,
                R.drawable.intro3, R.drawable.intro2, R.drawable.intro1 };
        titles = new int[] { R.string.Intro7Headline, R.string.Intro6Headline, R.string.Intro5Headline,
                R.string.Intro4Headline, R.string.Intro3Headline, R.string.Intro2Headline,
                R.string.Intro1Headline };
        messages = new int[] { R.string.Intro7Message, R.string.Intro6Message, R.string.Intro5Message,
                R.string.Intro4Message, R.string.Intro3Message, R.string.Intro2Message,
                R.string.Intro1Message };
    } else {
        icons = new int[] { R.drawable.intro1, R.drawable.intro2, R.drawable.intro3, R.drawable.intro4,
                R.drawable.intro5, R.drawable.intro6, R.drawable.intro7 };
        titles = new int[] { R.string.Intro1Headline, R.string.Intro2Headline, R.string.Intro3Headline,
                R.string.Intro4Headline, R.string.Intro5Headline, R.string.Intro6Headline,
                R.string.Intro7Headline };
        messages = new int[] { R.string.Intro1Message, R.string.Intro2Message, R.string.Intro3Message,
                R.string.Intro4Message, R.string.Intro5Message, R.string.Intro6Message,
                R.string.Intro7Message };
    }
    viewPager = (ViewPager) findViewById(R.id.intro_view_pager);
    TextView startMessagingButton = (TextView) findViewById(R.id.start_messaging_button);
    startMessagingButton.setText(ApplicationLoader.applicationContext.getString(R.string.IntroStartMessaging)
            .toUpperCase(Locale.getDefault()));
    if (Build.VERSION.SDK_INT >= 21) {
        StateListAnimator animator = new StateListAnimator();
        animator.addState(new int[] { android.R.attr.state_pressed }, ObjectAnimator
                .ofFloat(startMessagingButton, "translationZ", AndroidUtilities.dp(2), AndroidUtilities.dp(4))
                .setDuration(200));
        animator.addState(new int[] {}, ObjectAnimator
                .ofFloat(startMessagingButton, "translationZ", AndroidUtilities.dp(4), AndroidUtilities.dp(2))
                .setDuration(200));
        startMessagingButton.setStateListAnimator(animator);
    }
    topImage1 = (ImageView) findViewById(R.id.icon_image1);
    topImage2 = (ImageView) findViewById(R.id.icon_image2);
    bottomPages = (ViewGroup) findViewById(R.id.bottom_pages);
    topImage2.setVisibility(View.GONE);
    viewPager.setAdapter(new IntroAdapter());
    viewPager.setPageMargin(0);
    viewPager.setOffscreenPageLimit(1);
    viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int i) {

        }

        @Override
        public void onPageScrollStateChanged(int i) {
            if (i == ViewPager.SCROLL_STATE_IDLE || i == ViewPager.SCROLL_STATE_SETTLING) {
                if (lastPage != viewPager.getCurrentItem()) {
                    lastPage = viewPager.getCurrentItem();

                    final ImageView fadeoutImage;
                    final ImageView fadeinImage;
                    if (topImage1.getVisibility() == View.VISIBLE) {
                        fadeoutImage = topImage1;
                        fadeinImage = topImage2;

                    } else {
                        fadeoutImage = topImage2;
                        fadeinImage = topImage1;
                    }

                    fadeinImage.bringToFront();
                    fadeinImage.setImageResource(icons[lastPage]);
                    fadeinImage.clearAnimation();
                    fadeoutImage.clearAnimation();

                    Animation outAnimation = AnimationUtils.loadAnimation(IntroActivity.this,
                            R.anim.icon_anim_fade_out);
                    outAnimation.setAnimationListener(new Animation.AnimationListener() {
                        @Override
                        public void onAnimationStart(Animation animation) {
                        }

                        @Override
                        public void onAnimationEnd(Animation animation) {
                            fadeoutImage.setVisibility(View.GONE);
                        }

                        @Override
                        public void onAnimationRepeat(Animation animation) {

                        }
                    });

                    Animation inAnimation = AnimationUtils.loadAnimation(IntroActivity.this,
                            R.anim.icon_anim_fade_in);
                    inAnimation.setAnimationListener(new Animation.AnimationListener() {
                        @Override
                        public void onAnimationStart(Animation animation) {
                            fadeinImage.setVisibility(View.VISIBLE);
                        }

                        @Override
                        public void onAnimationEnd(Animation animation) {
                        }

                        @Override
                        public void onAnimationRepeat(Animation animation) {

                        }
                    });

                    fadeoutImage.startAnimation(outAnimation);
                    fadeinImage.startAnimation(inAnimation);
                }
            }
        }
    });

    startMessagingButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (startPressed) {
                return;
            }
            startPressed = true;
            Intent intent2 = new Intent(IntroActivity.this, LaunchActivity.class);
            intent2.putExtra("fromIntro", true);
            startActivity(intent2);
            finish();
        }
    });

    justCreated = true;
}

From source file:com.insthub.ecmobile.fragment.HomeFragment.java

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View mainView = inflater.inflate(R.layout.home_fragment, null);

    back = (ImageView) mainView.findViewById(R.id.top_view_back);
    back.setVisibility(View.GONE);
    title = (TextView) mainView.findViewById(R.id.top_view_text);
    Resources resource = this.getResources();
    String ecmobileStr = resource.getString(R.string.ecmobile);
    title.setText(ecmobileStr);/*from  w ww.  ja v  a 2 s  .c  o  m*/

    title_right_button = (LinearLayout) mainView.findViewById(R.id.top_right_button);
    title_right_button.setVisibility(View.VISIBLE);
    title_right_button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            msgModel.unreadCount = 0;
            headUnreadTextView.setVisibility(View.GONE);
            Intent intent = new Intent(getActivity(), ShopNotifyActivity.class);
            startActivity(intent);
            getActivity().overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out);
        }
    });

    headUnreadTextView = (TextView) mainView.findViewById(R.id.head_unread_num);

    if (null == dataModel) {
        dataModel = new HomeModel(getActivity());
        dataModel.fetchHotSelling();
        dataModel.fetchCategoryGoods();
    }

    if (null == MsgModel.getInstance()) {
        msgModel = new MsgModel(getActivity());
    } else {
        msgModel = MsgModel.getInstance();
    }

    msgModel.addResponseListener(this);
    msgModel.getUnreadMessageCount();

    if (null == ConfigModel.getInstance()) {
        ConfigModel configModel = new ConfigModel(getActivity());
        configModel.getConfig();
    }

    dataModel.addResponseListener(this);

    bannerView = (FrameLayout) LayoutInflater.from(getActivity()).inflate(R.layout.banner_scroll_view, null);

    bannerViewPager = (ViewPager) bannerView.findViewById(R.id.banner_viewpager);

    LayoutParams params1 = bannerViewPager.getLayoutParams();
    params1.width = getDisplayMetricsWidth();
    params1.height = (int) (params1.width * 1.0 / 484 * 200);

    bannerViewPager.setLayoutParams(params1);

    bannerListView = new ArrayList<View>();

    bannerPageAdapter = new Bee_PageAdapter(bannerListView);

    bannerViewPager.setAdapter(bannerPageAdapter);
    bannerViewPager.setCurrentItem(0);

    bannerViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        private int mPreviousState = ViewPager.SCROLL_STATE_IDLE;

        @Override
        public void onPageScrolled(int i, float v, int i2) {

        }

        @Override
        public void onPageSelected(int i) {

        }

        @Override
        public void onPageScrollStateChanged(int state) {
            // All of this is to inhibit any scrollable container from consuming our touch events as the user is changing pages
            if (mPreviousState == ViewPager.SCROLL_STATE_IDLE) {
                if (state == ViewPager.SCROLL_STATE_DRAGGING) {
                    mTouchTarget = bannerViewPager;
                }
            } else {
                if (state == ViewPager.SCROLL_STATE_IDLE || state == ViewPager.SCROLL_STATE_SETTLING) {
                    mTouchTarget = null;
                }
            }

            mPreviousState = state;
        }
    });

    mIndicator = (PageIndicator) bannerView.findViewById(R.id.indicator);
    mIndicator.setViewPager(bannerViewPager);

    mListView = (MyListView) mainView.findViewById(R.id.home_listview);
    mListView.addHeaderView(bannerView);
    mListView.bannerView = bannerView;

    mListView.setPullLoadEnable(false);
    mListView.setPullRefreshEnable(true);
    mListView.setXListViewListener(this, 0);
    mListView.setRefreshTime();

    homeSetAdapter();

    ShoppingCartModel shoppingCartModel = new ShoppingCartModel(getActivity());
    shoppingCartModel.addResponseListener(this);
    shoppingCartModel.homeCartList();

    return mainView;
}

From source file:com.github.paradam.infinitepager.InfiniteViewPager.java

/**
 * Initialise the InfiniteViewPager.//from  w w  w.  j  a  v  a  2  s  . c o m
 */
private void init() {
    /*
     * Set up listener to listen for the moments when the current selected page has been changed
     * to a page less than InfinitePageAdapter#MARGIN, or larger than
     * InfinitePageAdapter#getRelativeCount()+ InfinitePageAdapter#MARGIN
     */
    super.setOnPageChangeListener(new OnPageChangeListener() {
        /**
         * The page which the {@link #pageScrollRunner} will scroll to when the thread is run.<br>
         * A value of -1 means no page has been set since the last time #pageScrollRunner was run.
         */
        private int toPage = -1;

        /**
         * A Runnable that will set the Page Adapter {@link com.github.paradam.infinitepager.InfiniteViewPager#infinitePageAdapter}
         * to the page identified in {@link #toPage}, before then setting toPage to <code>-1</code>.
         */
        private final Runnable pageScrollRunner = new Runnable() {
            public synchronized void run() {
                if (toPage >= 0) {
                    /*
                     * Switch to the real page, don't animate transition to make it
                     * seem that the page is not changed.
                     */
                    setRelativeCurrentItem(toPage, false);
                    toPage = -1;
                }
            }
        };

        @Override
        public void onPageScrollStateChanged(int state) {
            switch (state) {
            case ViewPager.SCROLL_STATE_DRAGGING:
                /*
                 *  User has started dragging, quickly change the page to the correct one,
                 *  this may cause the view to jump.
                 */
            case ViewPager.SCROLL_STATE_IDLE: // Animation has finished, switch now.
                if (toPage >= 0) {
                    post(pageScrollRunner);
                }
            }
            if (mInternalPageChangeListener != null) {
                mInternalPageChangeListener.onPageScrollStateChanged(state);
            }
            if (mOnPageChangeListener != null) {
                mOnPageChangeListener.onPageScrollStateChanged(state);
            }
        }

        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            if (mInternalPageChangeListener != null) {
                mInternalPageChangeListener.onPageScrolled(calculateRelative(position), positionOffset,
                        positionOffsetPixels);
            }
            if (mOnPageChangeListener != null) {
                mOnPageChangeListener.onPageScrolled(calculateRelative(position), positionOffset,
                        positionOffsetPixels);
            }
        }

        @Override
        public void onPageSelected(int position) {
            int calcPos = calculateRelative(position);
            if (position - infinitePageAdapter.getMargin() != calcPos) {
                /*
                 *  If the given position differs from the real position calculated.
                 *  Set #toPage to the page it should be on (if position is one that is
                 *  less than InfiniteViewPager#getMargin()
                 *  or larger than (InfinitePageAdapter#getRelativeCount() +
                 *  InfinitePageAdapter#getMargin()), then store the correct page
                 *  it should change to when the animation stops to make as smooth
                 *  transition as possible.
                 */
                toPage = calcPos;
            }

            if (mInternalPageChangeListener != null) {
                mInternalPageChangeListener.onPageSelected(calcPos);
            }
            if (mOnPageChangeListener != null) {
                mOnPageChangeListener.onPageSelected(calcPos);
            }
        }
    });
}

From source file:com.cartoon.pictures.uilibrary.widget.tabpageindicator.TabPageIndicator.java

@Override
public void onPageSelected(int position) {
    if (mScrollState == ViewPager.SCROLL_STATE_IDLE) {
        mTabLayout.onPageSelected(position);
    }//from  ww w  .j a  v a  2s  . c  o m

    setCurrentItem(position);
    if (mListener != null) {
        mListener.onPageSelected(position);
    }
}

From source file:am.widget.tabstrip.TabStripHelper.java

private void onViewPagerAdapterChanged(@Nullable PagerAdapter oldAdapter, @Nullable PagerAdapter newAdapter) {
    if (mView instanceof TabStripView)
        ((TabStripView) mView).onViewPagerAdapterChanged(oldAdapter, newAdapter);
    else if (mView instanceof TabStripViewGroup)
        ((TabStripViewGroup) mView).onViewPagerAdapterChanged(oldAdapter, newAdapter);
    if (mScrollState == ViewPager.SCROLL_STATE_IDLE) {
        mPosition = 0;/* ww w . j  av a  2  s  .co m*/
        mOffset = 0;
        if (oldAdapter != null)
            oldAdapter.unregisterDataSetObserver(this);
        if (newAdapter != null)
            newAdapter.registerDataSetObserver(this);
        if (mPager != null)
            mPosition = mPager.getCurrentItem();
        updateView(true);
    }
}