@Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { mIndicator.onScrolled( (mPager.getWidth() + mPager.getPageMargin()) * position + positionOffsetPixels); for (int i = 0; i < mTabs.size(); i++) { TabInfo tab = mTabs.get(i); if (tab.fragment != null) { tab.fragment.onScrolled(); } } }
private final void initViews() { // Show the main screen by default mCurrentTab = onPrepareTabInfoData(mTabs); Intent intent = getIntent(); if (intent != null) { mCurrentTab = intent.getIntExtra(EXTRA_TAB, mCurrentTab); } myAdapter = new MyAdapter(this, getSupportFragmentManager(), mTabs); // Setup the views mPager = (ViewPager) findViewById(R.id.pager); mPager.setAdapter(myAdapter); mPager.setOnPageChangeListener(this); mPager.setOffscreenPageLimit(mTabs.size()); mIndicator = (TitleIndicator) findViewById(R.id.pagerindicator); mIndicator.init(mCurrentTab, mTabs, mPager); mPager.setCurrentItem(mCurrentTab); final Message msg = getInitMessage(); mPager.post( new Runnable() { @Override public void run() { TabInfo ti = getFragmentById(mCurrentTab); mLastTab = mCurrentTab; if (ti != null) { if (ti.fragment != null) ti.fragment.onScrollIn(); } if (msg != null) { msg.sendToTarget(); } } }); }
@Override public void onPageSelected(int position) { mIndicator.onSwitched(position); mCurrentTab = position; }