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.hqs.view.pager.indicator.UnderlinePageIndicator.java

@Override
public void onPageSelected(int position) {
    if (mScrollState == ViewPager.SCROLL_STATE_IDLE) {
        mCurrentPage = position;//from  w ww . j  a  v  a  2  s.  c  om
        mPositionOffset = 0;
        invalidate();
        mFadeRunnable.run();
    }
    if (mListener != null) {
        mListener.onPageSelected(position);
    }
}

From source file:org.dmfs.tasks.TaskListActivity.java

@SuppressLint("NewApi")
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
@Override/*from w  w  w  . j av a2  s  .com*/
protected void onCreate(Bundle savedInstanceState) {
    Log.d(TAG, "onCreate called again");
    super.onCreate(savedInstanceState);

    // check for single pane activity change
    mTwoPane = getResources().getBoolean(R.bool.has_two_panes);

    resolveIntentAction(getIntent());

    if (mSelectedTaskUri != null) {
        if (mShouldShowDetails && mShouldSwitchToDetail) {
            Intent viewTaskIntent = new Intent(Intent.ACTION_VIEW);
            viewTaskIntent.setData(mSelectedTaskUri);
            startActivity(viewTaskIntent);
            mSwitchedToDetail = true;
            mShouldSwitchToDetail = false;
            mTransientState = true;
        }
    } else {
        mShouldShowDetails = false;
    }

    setContentView(R.layout.activity_task_list);

    mAuthority = getString(R.string.org_dmfs_tasks_authority);
    mSearchHistoryHelper = new SearchHistoryHelper(this);

    if (findViewById(R.id.task_detail_container) != null) {
        // In two-pane mode, list items should be given the
        // 'activated' state when touched.

        // get list fragment
        // mTaskListFrag = (TaskListFragment) getSupportFragmentManager().findFragmentById(R.id.task_list);
        // mTaskListFrag.setListViewScrollbarPositionLeft(true);

        // mTaskListFrag.setActivateOnItemClick(true);

        /*
         * Create a detail fragment, but don't load any URL yet, we do that later when the fragment gets attached
         */
        mTaskDetailFrag = ViewTaskFragment.newInstance(mSelectedTaskUri);
        getSupportFragmentManager().beginTransaction()
                .replace(R.id.task_detail_container, mTaskDetailFrag, DETAIL_FRAGMENT_TAG).commit();
    } else {
        FragmentManager fragmentManager = getSupportFragmentManager();
        Fragment detailFragment = fragmentManager.findFragmentByTag(DETAIL_FRAGMENT_TAG);
        if (detailFragment != null) {
            fragmentManager.beginTransaction().remove(detailFragment).commit();
        }
    }

    mGroupingFactories = new AbstractGroupingFactory[] { new ByList(mAuthority), new ByDueDate(mAuthority),
            new ByStartDate(mAuthority), new ByPriority(mAuthority), new ByProgress(mAuthority),
            new BySearch(mAuthority, mSearchHistoryHelper) };

    // set up pager adapter
    try {
        mPagerAdapter = new TaskGroupPagerAdapter(getSupportFragmentManager(), mGroupingFactories, this,
                R.xml.listview_tabs);
    } catch (XmlPullParserException e) {
        // TODO Automatisch generierter Erfassungsblock
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Automatisch generierter Erfassungsblock
        e.printStackTrace();
    } catch (XmlObjectPullParserException e) {
        // TODO Automatisch generierter Erfassungsblock
        e.printStackTrace();
    }

    // Setup ViewPager
    mPagerAdapter.setTwoPaneLayout(mTwoPane);
    mViewPager = (ViewPager) findViewById(R.id.pager);
    mViewPager.setAdapter(mPagerAdapter);

    int currentPageIndex = mPagerAdapter.getPagePosition(mCurrentPageId);

    if (currentPageIndex >= 0) {
        mCurrentPagePosition = currentPageIndex;
        mViewPager.setCurrentItem(currentPageIndex);
        if (VERSION.SDK_INT >= 14 && mCurrentPageId == R.id.task_group_search) {
            if (mSearchItem != null) {
                // that's actually quite impossible to happen
                MenuItemCompat.expandActionView(mSearchItem);
            } else {
                mAutoExpandSearchView = true;
            }
        }
    }
    updateTitle(currentPageIndex);

    // Bind the tabs to the ViewPager
    mTabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
    mTabs.setViewPager(mViewPager);

    mTabs.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            mSelectedTaskUri = null;
            mCurrentPagePosition = position;

            int newPageId = mPagerAdapter.getPageId(position);

            if (newPageId == R.id.task_group_search) {
                int oldPageId = mCurrentPageId;
                mCurrentPageId = newPageId;

                // store the page position we're coming from
                mPreviousPagePosition = mPagerAdapter.getPagePosition(oldPageId);
            } else if (mCurrentPageId == R.id.task_group_search) {
                // we've been on the search page before, so commit the search and close the search view
                mSearchHistoryHelper.commitSearch();
                mHandler.post(mSearchUpdater);
                mCurrentPageId = newPageId;
                hideSearchActionView();
            }
            mCurrentPageId = newPageId;

            updateTitle(mCurrentPageId);
        }

        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageScrollStateChanged(int state) {
            if (state == ViewPager.SCROLL_STATE_IDLE && mCurrentPageId == R.id.task_group_search) {
                // the search page is selected now, expand the search view
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        MenuItemCompat.expandActionView(mSearchItem);
                    }
                });
            }
        }
    });

    // make sure the status bar color is set properly on Android 5+ devices
    if (VERSION.SDK_INT >= 21) {
        Window window = getWindow();
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        window.setStatusBarColor(getResources().getColor(R.color.colorPrimaryDarker));
    }
}

From source file:com.focustech.common.widget.viewpagerindictor.UnderlinePageIndicator.java

@Override
public void onPageSelected(int position) {
    if (mScrollState == ViewPager.SCROLL_STATE_IDLE) {
        mCurrentPage = position;//from w  w  w  .j  a  v  a  2s  .c  o m
        mPositionOffset = 0;
        invalidate();
        mFadeRunnable.run();
    }
    if (mListener != null) {
        mListener.onPageSelected(position);
    }

    if (changeTitleListener != null) {
        changeTitleListener.changeTitleStatus(position);
    }
}

From source file:com.e.common.widget.viewpager.UnderlinePageIndicator.java

@Override
public void onPageSelected(int position) {
    if (mScrollState == ViewPager.SCROLL_STATE_IDLE) {
        mCurrentPage = position;// w w  w .  j a  v  a 2 s.co m
        mPositionOffset = 0;
        invalidate();
        mFadeRunnable.run();
    }
    if (mListener != null) {
        mListener.onPageSelected(position);
    }

    if (mViewPagerScrollListener != null) {
        mViewPagerScrollListener.scrollFinish(position);
    }
}

From source file:com.joy.ui.view.banner.indicator.CircleIndicator.java

@Override
public void onPageSelected(int position) {
    if (mIndicatorCount == 0) {
        return;/*from   w  w  w. j a va 2 s .c o  m*/
    }
    position = position % mIndicatorCount;

    if (mSnap || mScrollState == ViewPager.SCROLL_STATE_IDLE) {
        mCurrentPage = position;
        mSnapPage = position;
        invalidate();
    }
    if (mListener != null) {
        mListener.onPageSelected(position);
    }
}

From source file:banner.edgar.com.banner.UnderlinePageIndicator.java

@Override
public void onBannerSelected(BannerItem bannerItem, int position) {
    if (mScrollState == ViewPager.SCROLL_STATE_IDLE) {
        mCurrentPage = position;/*w  ww.  j ava2s  .c  om*/
        mPositionOffset = 0;
        invalidate();
        mFadeRunnable.run();
    }
}

From source file:com.cairoconfessions.SwipeyTabsView.java

/**
 * {@inheritDoc}// w  w  w . j av a2  s . c  om
 */
@Override
public void onPageScrollStateChanged(int state) {
    if (state == ViewPager.SCROLL_STATE_IDLE) {
        if (mPager.getCurrentItem() == 1) {
            InputMethodManager imm = (InputMethodManager) getContext()
                    .getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(this.getWindowToken(), 0);
        }
    }
}

From source file:glas.bbsystem.views.widgets.TabLayout.java

/**
 * Create a {@link ViewPager.OnPageChangeListener} which implements the
 * necessary calls back to this layout so that the tabs position is kept in
 * sync./*from www  .ja  v a2s .c o  m*/
 * <p>
 * If you need to have a custom {@link ViewPager.OnPageChangeListener} for
 * your own purposes, you can still use the instance returned from this
 * method, but making sure to call through to all of the methods.
 */
public ViewPager.OnPageChangeListener createOnPageChangeListener() {
    return new ViewPager.SimpleOnPageChangeListener() {
        private int mScrollState;

        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            setScrollPosition(position, positionOffset);
        }

        @Override
        public void onPageSelected(int position) {
            if (mScrollState == ViewPager.SCROLL_STATE_IDLE) {
                getTabAt(position).select();
            }
        }

        @Override
        public void onPageScrollStateChanged(int state) {
            mScrollState = state;
        }
    };
}

From source file:com.github.shareme.gwsmaterialuikit.library.material.widget.TabIndicatorView.java

protected void onTabScrollStateChanged(int state) {
    if (mCenterCurrentTab) {
        if (state == SCROLL_STATE_IDLE) {
            if (!mScrollingToCenter) {
                View v = mLayoutManager.findViewByPosition(mSelectedPosition);
                if (v != null) {
                    int viewCenter = (v.getLeft() + v.getRight()) / 2;
                    int parentCenter = (getLeft() + getPaddingLeft() + getRight() - getPaddingRight()) / 2;
                    int scrollNeeded = viewCenter - parentCenter;
                    if (scrollNeeded != 0) {
                        smoothScrollBy(scrollNeeded, 0);
                        mScrollingToCenter = true;
                    }/* ww w .j  a v  a2s.c  o  m*/
                }
            }
        }

        if (state == SCROLL_STATE_DRAGGING || state == SCROLL_STATE_SETTLING)
            mScrollingToCenter = false;
    }

    if (state == ViewPager.SCROLL_STATE_IDLE) {
        mScrolling = false;
        View v = mLayoutManager.findViewByPosition(mSelectedPosition);
        updateIndicator(v);
    } else
        mScrolling = true;
}

From source file:com.taobao.weex.ui.view.WXCircleViewPager.java

private void init() {
    setOverScrollMode(View.OVER_SCROLL_NEVER);

    addOnPageChangeListener(new OnPageChangeListener() {
        @Override/*from   w  ww . j a va2 s  . c  o  m*/
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {

        }

        @Override
        public void onPageScrollStateChanged(int state) {
            mState = state;
            WXCirclePageAdapter adapter = getCirclePageAdapter();
            int currentItemInternal = WXCircleViewPager.super.getCurrentItem();
            if (needLoop && state == ViewPager.SCROLL_STATE_IDLE && adapter.getCount() > 1) {
                if (currentItemInternal == adapter.getCount() - 1) {
                    superSetCurrentItem(1, false);
                } else if (currentItemInternal == 0) {
                    superSetCurrentItem(adapter.getCount() - 2, false);
                }
            }
        }
    });

    postInitViewPager();
}