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

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

Introduction

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

Prototype

public void setOnPageChangeListener(OnPageChangeListener listener) 

Source Link

Document

Set a listener that will be invoked whenever the page changes or is incrementally scrolled.

Usage

From source file:com.bei.test.view.tab.PagerSlidingTabStrip.java

public void setViewPager(ViewPager pager) {
    this.mPager = pager;
    if (pager.getAdapter() == null) {
        throw new IllegalStateException("ViewPager does not have adapter instance.");
    }/* w  ww. java  2s  .c  o m*/

    isCustomTabs = pager.getAdapter() instanceof CustomTabProvider;
    pager.setOnPageChangeListener(mPageListener);
    pager.getAdapter().registerDataSetObserver(mAdapterObserver);
    mAdapterObserver.setAttached(true);
    notifyDataSetChanged();
}

From source file:com.github.shareme.gwspagerslidingtabstrip.library.PagerSlidingTabStrip.java

@SuppressWarnings("deprecation")
public void setViewPager(ViewPager pager) {
    this.mPager = pager;
    if (pager.getAdapter() == null) {
        throw new IllegalStateException("ViewPager does not have adapter instance.");
    }/*from   ww  w  .  j a va 2 s. com*/

    isCustomTabs = pager.getAdapter() instanceof CustomTabProvider;
    //TODO: depreciated fix
    pager.setOnPageChangeListener(mPageListener);
    pager.getAdapter().registerDataSetObserver(mAdapterObserver);
    mAdapterObserver.setAttached(true);
    notifyDataSetChanged();
}

From source file:com.qingsongchou.library.widget.tab.PagerSlidingTabStrip.java

public void setViewPager(ViewPager pager) {
    this.mPager = pager;
    if (pager.getAdapter() == null) {
        throw new IllegalStateException("ViewPager does not have adapter instance.");
    }/*from  w ww  . j  a v a2 s  .co  m*/

    isCustomTabs = pager.getAdapter() instanceof CustomTabProvider;
    pager.setOnPageChangeListener(mPageListener);
    pager.getAdapter().registerDataSetObserver(mAdapterObserver);
    mAdapterObserver.setAttached(true);
    configTab();
}

From source file:com.audiokernel.euphonyrmt.MainMenuActivity.java

private ViewPager initializeNowPlayingPager() {
    final ViewPager nowPlayingPager = (ViewPager) findViewById(R.id.pager);
    if (nowPlayingPager != null) {
        nowPlayingPager.setAdapter(new MainMenuPagerAdapter());
        nowPlayingPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
            @Override/*from  w  w  w  .  ja  v a2 s  . c  o  m*/
            public void onPageSelected(final int position) {
                refreshQueueIndicator(position != 0);
            }
        });
    }

    return nowPlayingPager;
}

From source file:ti.modules.titanium.ui.widget.TiUIScrollableView.java

private ViewPager buildViewPager(Context context, ViewPagerAdapter adapter) {
    ViewPager pager = (new ViewPager(context) {
        @Override/* w  ww.ja  v  a2s .  c  om*/
        public boolean onTouchEvent(MotionEvent event) {
            if (mEnabled) {
                return super.onTouchEvent(event);
            }

            return false;
        }

        @Override
        public boolean onInterceptTouchEvent(MotionEvent event) {
            if (mEnabled) {
                return super.onInterceptTouchEvent(event);
            }

            return false;
        }
    });

    pager.setAdapter(adapter);
    pager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        private boolean isValidScroll = false;
        private boolean justFiredDragEnd = false;

        @Override
        public void onPageScrollStateChanged(int scrollState) {
            if ((scrollState == ViewPager.SCROLL_STATE_IDLE) && isValidScroll) {
                int oldIndex = mCurIndex;

                if (mCurIndex >= 0) {
                    if (oldIndex >= 0 && oldIndex != mCurIndex && oldIndex < mViews.size()) {
                        // Don't know what these focused and unfocused
                        // events are good for, but they were in our previous
                        // scrollable implementation.
                        // cf. https://github.com/appcelerator/titanium_mobile/blob/20335d8603e2708b59a18bafbb91b7292278de8e/android/modules/ui/src/ti/modules/titanium/ui/widget/TiScrollableView.java#L260
                        TiEventHelper.fireFocused(mViews.get(oldIndex));
                    }

                    TiEventHelper.fireUnfocused(mViews.get(mCurIndex));
                    if (oldIndex >= 0) {
                        // oldIndex will be -1 if the view has just
                        // been created and is setting currentPage
                        // to something other than 0. In that case we
                        // don't want a `scrollend` to fire.
                        ((ScrollableViewProxy) proxy).fireScrollEnd(mCurIndex, mViews.get(mCurIndex));
                    }

                    if (shouldShowPager()) {
                        showPager();
                    }
                }

                // If we don't use this state variable to check if it's a valid
                // scroll, this event will fire when the view is first created
                // because on creation, the scroll state is initialized to 
                // `idle` and this handler is called.
                isValidScroll = false;
            } else if (scrollState == ViewPager.SCROLL_STATE_SETTLING) {
                ((ScrollableViewProxy) proxy).fireDragEnd(mCurIndex, mViews.get(mCurIndex));

                // Note that we just fired a `dragend` so the `onPageSelected`
                // handler below doesn't fire a `scrollend`.  Read below comment.
                justFiredDragEnd = true;
            }
        }

        @Override
        public void onPageSelected(int page) {

            // If we didn't just fire a `dragend` event then this is the case
            // where a user drags the view and settles it on a different view.
            // Since the OS settling logic is never run, the
            // `onPageScrollStateChanged` handler is never run, and therefore
            // we forgot to inform the Javascripters that the user just scrolled
            // their thing.

            if (!justFiredDragEnd && mCurIndex != -1) {
                ((ScrollableViewProxy) proxy).fireScrollEnd(mCurIndex, mViews.get(mCurIndex));

                if (shouldShowPager()) {
                    showPager();
                }
            }
        }

        @Override
        public void onPageScrolled(int positionRoundedDown, float positionOffset, int positionOffsetPixels) {
            isValidScroll = true;

            // When we touch and drag the view and hold it inbetween the second
            // and third sub-view, this function will have been called with values
            // similar to:
            //      positionRoundedDown:   1
            //      positionOffset:          0.5
            // ie, the first parameter is always rounded down; the second parameter
            // is always just an offset between the current and next view, it does
            // not take into account the current view.

            // If we add positionRoundedDown to positionOffset, positionOffset will
            // have the 'correct' value; ie, will be a natural number when we're on
            // one particular view, something.5 when inbetween views, etc.
            float positionFloat = positionOffset + positionRoundedDown;

            // `positionFloat` can now be used to calculate the correct value for
            // the current index. We add 0.5 so that positionFloat will be rounded
            // half up; ie, if it has a value of 1.5, it will be rounded up to 2; if
            // it has a value of 1.4, it will be rounded down to 1.
            mCurIndex = (int) Math.floor(positionFloat + 0.5);
            ((ScrollableViewProxy) proxy).fireScroll(mCurIndex, positionFloat, mViews.get(mCurIndex));

            // Note that we didn't just fire a `dragend`.  See the above comment
            // in `onPageSelected`.
            justFiredDragEnd = false;
        }
    });
    return pager;
}

From source file:piuk.blockchain.android.ui.WalletAddressesActivity.java

@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.address_book_content);

    final ActionBarFragment actionBar = getActionBarFragment();

    actionBar.setPrimaryTitle(R.string.address_book_activity_title);

    actionBar.setBack(new OnClickListener() {
        public void onClick(final View v) {
            finish();/*from ww w. j  ava 2s .  c o  m*/
        }
    });

    actionBar.addButton(android.R.drawable.ic_menu_more).setOnClickListener(new OnClickListener() {
        public void onClick(final View v) {
            openOptionsMenu();
        }
    });

    final ViewPager pager = (ViewPager) findViewById(R.id.address_book_pager);

    if (pager != null) {
        final ViewPagerTabs pagerTabs = (ViewPagerTabs) findViewById(R.id.address_book_pager_tabs);
        pagerTabs.addTabLabels(R.string.address_book_list_receiving_title,
                R.string.address_book_list_archived_title, R.string.address_book_list_sending_title);

        final ProxyOnPageChangeListener pagerListener = new ProxyOnPageChangeListener(pagerTabs) {
            @Override
            public void onPageSelected(final int position) {
                super.onPageSelected(position);

                pagerPosition = position;
            }
        };

        final PagerAdapter pagerAdapter = new PagerAdapter(getSupportFragmentManager());

        pager.getCurrentItem();

        pager.setAdapter(pagerAdapter);
        pager.setOnPageChangeListener(pagerListener);
        final int position = getIntent().getBooleanExtra(EXTRA_SENDING, true) == true ? 2 : 0;
        pager.setCurrentItem(position);
        pager.setPageMargin(2);
        pager.setPageMarginDrawable(R.color.background_less_bright);

        pagerListener.onPageSelected(position);
        pagerListener.onPageScrolled(position, 0, 0);

        archivedAddressesFragment = new WalletArchivedAddressesFragment();
        activeAddressesFragment = new WalletActiveAddressesFragment();
        sendingAddressesFragment = new SendingAddressesFragment();
    }

    updateFragments();
}

From source file:com.google.samples.apps.iosched.ui.SessionLivestreamActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_session_livestream);
    mIsTablet = UIUtils.isTablet(this);

    // Set up YouTube player
    mYouTubeFragment = (YouTubePlayerFragment) getFragmentManager().findFragmentById(R.id.livestream_player);
    mYouTubeFragment.initialize(Config.YOUTUBE_API_KEY, this);

    // Views that are common over all layouts
    mMainLayout = (LinearLayout) findViewById(R.id.livestream_mainlayout);
    adjustMainLayoutForActionBar();//from   w  w w  .  j  a v a2s.c  o m
    mPlayerContainer = (LinearLayout) findViewById(R.id.livestream_player_container);
    mFullscreenCaptions = (FrameLayout) findViewById(R.id.fullscreen_captions);
    final LayoutParams params = (LayoutParams) mFullscreenCaptions.getLayoutParams();
    params.setMargins(0, getActionBarHeightPx(), 0, getActionBarHeightPx());
    mFullscreenCaptions.setLayoutParams(params);
    mTabsContentLayout = (LinearLayout) findViewById(R.id.livestream_tabs_layout);

    // Set up ViewPager and adapter
    ViewPager viewPager = (ViewPager) findViewById(R.id.livestream_pager);
    viewPager.setOffscreenPageLimit(2);
    viewPager.setPageMargin(getResources().getDimensionPixelSize(R.dimen.page_margin_width));
    mTabsAdapter = new TabsAdapter(getFragmentManager());
    viewPager.setAdapter(mTabsAdapter);
    viewPager.setOnPageChangeListener(mTabsAdapter);

    if (mIsTablet) {
        // Tablet UI specific views
        mVideoLayout = (LinearLayout) findViewById(R.id.livestream_video_layout);
    }

    mTabsAdapter.addTab(getString(R.string.session_livestream_info), new SessionSummaryFragment(),
            TABNUM_SESSION_SUMMARY);

    mTabsAdapter.addTab(getString(R.string.session_livestream_captions), new SessionCaptionsFragment(),
            TABNUM_LIVE_CAPTIONS);

    // Set up sliding tabs w/ViewPager
    SlidingTabLayout slidingTabLayout = (SlidingTabLayout) findViewById(R.id.livestream_sliding_tabs);
    slidingTabLayout.setCustomTabView(R.layout.tab_indicator, android.R.id.text1);

    Resources res = getResources();
    slidingTabLayout.setSelectedIndicatorColors(res.getColor(R.color.tab_selected_strip));
    slidingTabLayout.setDistributeEvenly(true);
    slidingTabLayout.setViewPager(viewPager);

    // Reload all other data in this activity
    reloadFromIntent(getIntent());

    // Update layout based on current configuration
    updateLayout(getResources().getConfiguration());

    // Set up action bar
    if (!mLoadFromExtras) {
        // Start sessions query to populate action bar navigation spinner
        getLoaderManager().initLoader(SessionsQuery._TOKEN, null, this);
        mLivestreamAdapter = new LivestreamAdapter(getActionBar().getThemedContext());
    }
}

From source file:net.ibaixin.chat.view.PagerSlidingTabStrip.java

public void setViewPager(ViewPager viewPager) {
    if (mViewPager == viewPager) {
        return;/*from   w w  w .j ava  2  s  .  co  m*/
    }
    if (mViewPager != null) {
        mViewPager.setOnPageChangeListener(null);
    }
    final PagerAdapter adapter = viewPager.getAdapter();
    if (adapter == null) {
        throw new IllegalStateException("ViewPager does not have adapter instance.");
    }

    this.mViewPager = viewPager;

    //        viewPager.setOnPageChangeListener(pageListener);
    viewPager.setOnPageChangeListener(this);

    notifyDataSetChanged();
}

From source file:com.nachiket.titan.LibraryActivity.java

@Override
public void onCreate(Bundle state) {
    super.onCreate(state);

    if (state == null) {
        checkForLaunch(getIntent());//from   ww w . jav  a 2  s  . co m
    }

    setContentView(R.layout.library_content);

    mSearchBox = findViewById(R.id.search_box);

    mTextFilter = (TextView) findViewById(R.id.filter_text);
    mTextFilter.addTextChangedListener(this);

    mClearButton = findViewById(R.id.clear_button);
    mClearButton.setOnClickListener(this);

    mLimiterScroller = (HorizontalScrollView) findViewById(R.id.limiter_scroller);
    mLimiterViews = (ViewGroup) findViewById(R.id.limiter_layout);

    LibraryPagerAdapter pagerAdapter = new LibraryPagerAdapter(this, mLooper);
    mPagerAdapter = pagerAdapter;

    ViewPager pager = (ViewPager) findViewById(R.id.pager);
    pager.setAdapter(pagerAdapter);
    mViewPager = pager;

    SharedPreferences settings = PlaybackService.getSettings(this);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        pager.setOnPageChangeListener(pagerAdapter);

        View controls = getLayoutInflater().inflate(R.layout.actionbar_controls, null);
        mTitle = (TextView) controls.findViewById(R.id.title);
        mArtist = (TextView) controls.findViewById(R.id.artist);
        mCover = (ImageView) controls.findViewById(R.id.cover);
        controls.setOnClickListener(this);
        mActionControls = controls;
    } else {
        TabPageIndicator tabs = new TabPageIndicator(this);
        tabs.setViewPager(pager);
        tabs.setOnPageChangeListener(pagerAdapter);
        mTabs = tabs;

        LinearLayout content = (LinearLayout) findViewById(R.id.content);
        content.addView(tabs, 0, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT));

        if (settings.getBoolean(PrefKeys.CONTROLS_IN_SELECTOR, false)) {
            getLayoutInflater().inflate(R.layout.library_controls, content, true);

            mControls = findViewById(R.id.controls);

            mTitle = (TextView) mControls.findViewById(R.id.title);
            mArtist = (TextView) mControls.findViewById(R.id.artist);
            mCover = (ImageView) mControls.findViewById(R.id.cover);
            View previous = mControls.findViewById(R.id.previous);
            mPlayPauseButton = (ImageButton) mControls.findViewById(R.id.play_pause);
            View next = mControls.findViewById(R.id.next);

            mCover.setOnClickListener(this);
            previous.setOnClickListener(this);
            mPlayPauseButton.setOnClickListener(this);
            next.setOnClickListener(this);

            mShuffleButton = (ImageButton) findViewById(R.id.shuffle);
            mShuffleButton.setOnClickListener(this);
            registerForContextMenu(mShuffleButton);
            mEndButton = (ImageButton) findViewById(R.id.end_action);
            mEndButton.setOnClickListener(this);
            registerForContextMenu(mEndButton);

            mEmptyQueue = findViewById(R.id.empty_queue);
            mEmptyQueue.setOnClickListener(this);
        }
    }

    loadTabOrder();
    int page = settings.getInt(PrefKeys.LIBRARY_PAGE, 0);
    if (page != 0) {
        pager.setCurrentItem(page);
    }

    loadAlbumIntent(getIntent());
}

From source file:com.saarang.samples.apps.iosched.ui.SessionLivestreamActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
    super.onCreate(savedInstanceState);
    setContentView(com.saarang.samples.apps.iosched.R.layout.activity_session_livestream);
    mIsTablet = UIUtils.isTablet(this);

    // Set up YouTube player
    mYouTubeFragment = (YouTubePlayerFragment) getFragmentManager()
            .findFragmentById(com.saarang.samples.apps.iosched.R.id.livestream_player);
    mYouTubeFragment.initialize(Config.YOUTUBE_API_KEY, this);

    // Views that are common over all layouts
    mMainLayout = (LinearLayout) findViewById(com.saarang.samples.apps.iosched.R.id.livestream_mainlayout);
    adjustMainLayoutForActionBar();//from   w  ww .j ava 2 s. co m
    mPlayerContainer = (LinearLayout) findViewById(
            com.saarang.samples.apps.iosched.R.id.livestream_player_container);
    mFullscreenCaptions = (FrameLayout) findViewById(com.saarang.samples.apps.iosched.R.id.fullscreen_captions);
    final LayoutParams params = (LayoutParams) mFullscreenCaptions.getLayoutParams();
    params.setMargins(0, getActionBarHeightPx(), 0, getActionBarHeightPx());
    mFullscreenCaptions.setLayoutParams(params);
    mTabsContentLayout = (LinearLayout) findViewById(
            com.saarang.samples.apps.iosched.R.id.livestream_tabs_layout);

    // Set up ViewPager and adapter
    ViewPager viewPager = (ViewPager) findViewById(com.saarang.samples.apps.iosched.R.id.livestream_pager);
    viewPager.setOffscreenPageLimit(2);
    viewPager.setPageMargin(
            getResources().getDimensionPixelSize(com.saarang.samples.apps.iosched.R.dimen.page_margin_width));
    mTabsAdapter = new TabsAdapter(getFragmentManager());
    viewPager.setAdapter(mTabsAdapter);
    viewPager.setOnPageChangeListener(mTabsAdapter);

    if (mIsTablet) {
        // Tablet UI specific views
        mVideoLayout = (LinearLayout) findViewById(
                com.saarang.samples.apps.iosched.R.id.livestream_video_layout);
    }

    mTabsAdapter.addTab(getString(com.saarang.samples.apps.iosched.R.string.session_livestream_info),
            new SessionSummaryFragment(), TABNUM_SESSION_SUMMARY);

    mTabsAdapter.addTab(getString(com.saarang.samples.apps.iosched.R.string.session_livestream_captions),
            new SessionCaptionsFragment(), TABNUM_LIVE_CAPTIONS);

    // Set up sliding tabs w/ViewPager
    SlidingTabLayout slidingTabLayout = (SlidingTabLayout) findViewById(
            com.saarang.samples.apps.iosched.R.id.livestream_sliding_tabs);
    slidingTabLayout.setCustomTabView(com.saarang.samples.apps.iosched.R.layout.tab_indicator,
            android.R.id.text1);

    Resources res = getResources();
    slidingTabLayout.setSelectedIndicatorColors(
            res.getColor(com.saarang.samples.apps.iosched.R.color.tab_selected_strip));
    slidingTabLayout.setDistributeEvenly(true);
    slidingTabLayout.setViewPager(viewPager);

    // Reload all other data in this activity
    reloadFromIntent(getIntent());

    // Update layout based on current configuration
    updateLayout(getResources().getConfiguration());

    // Set up action bar
    if (!mLoadFromExtras) {
        // Start sessions query to populate action bar navigation spinner
        getLoaderManager().initLoader(SessionsQuery._TOKEN, null, this);
        mLivestreamAdapter = new LivestreamAdapter(getActionBar().getThemedContext());
    }
}