@Override public void onPageScrollStateChanged(int state) { if (mTabView != null) { mTabView.onPageScrollStateChanged(state); } if (mOnPageChangeListener != null) { mOnPageChangeListener.onPageScrollStateChanged(state); } }
@Override public void onPageSelected(int position) { if (mTabView != null) { mTabView.onPageSelected(position); } if (mOnPageChangeListener != null) { mOnPageChangeListener.onPageSelected(position); } }
@Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { if (mTabView != null) { mTabView.onPageScrolled(position, positionOffset, positionOffsetPixels); } if (mOnPageChangeListener != null) { mOnPageChangeListener.onPageScrolled(position, positionOffset, positionOffsetPixels); } // postInvalidate(); }
@Override public void onPageSelected(int position) { if (delegatePageListener != null) { delegatePageListener.onPageSelected(position); } if (position < tabCount) { for (int i = 0; i < tabCount; i++) { View v = tabsContainer.getChildAt(i); if (v instanceof TextView) { TextView tab = (TextView) v; if (i == position) tab.setSelected(true); else tab.setSelected(false); } else if (v instanceof CustomTabView) { CustomTabView tab = (CustomTabView) v; if (i == position) tab.getTabItemTxt().setSelected(true); else tab.getTabItemTxt().setSelected(false); } } } }
@Override protected void onFinishInflate() { super.onFinishInflate(); if (getChildAt(0) instanceof CustomTabView) { mTabView = (CustomTabView) getChildAt(0); mViewPager = (ViewPager) getChildAt(1); } else { mTabView = (CustomTabView) getChildAt(1); mViewPager = (ViewPager) getChildAt(0); } mViewPager.setOnPageChangeListener(this); mTabView.setOnItemChangeListener(this); }
private void updateTabStyles() { for (int i = 0; i < tabCount; i++) { View v = tabsContainer.getChildAt(i); if (v instanceof TextView) { v.setBackgroundResource(tabBackgroundResId); TextView tab = (TextView) v; tab.setTextSize(TypedValue.COMPLEX_UNIT_PX, tabTextSize); tab.setTypeface(tabTypeface, tabTypefaceStyle); tab.setTextColor(tabTextColor); tab.setPadding(tabPadding, tabPaddingTopBottom, tabPadding, tabPaddingTopBottom); // setAllCaps() is only available from API 14, so the upper case is made manually if we are // on a // pre-ICS-build if (textAllCaps) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { tab.setAllCaps(true); } else { tab.setText(tab.getText().toString().toUpperCase(locale)); } } } else if (v instanceof CustomTabView) { CustomTabView tab = (CustomTabView) v; tab.getTabItemTxt().setBackgroundResource(tabBackgroundResId); tab.getTabItemTxt().setTextSize(TypedValue.COMPLEX_UNIT_PX, tabTextSize); tab.getTabItemTxt().setTypeface(tabTypeface, tabTypefaceStyle); tab.getTabItemTxt().setTextColor(tabTextColor); tab.getTabItemTxt() .setPadding(tabPadding, tabPaddingTopBottom, tabPadding, tabPaddingTopBottom); // setAllCaps() is only available from API 14, so the upper case is made manually if we are // on a // pre-ICS-build if (textAllCaps) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { tab.getTabItemTxt().setAllCaps(true); } else { tab.getTabItemTxt() .setText(tab.getTabItemTxt().getText().toString().toUpperCase(locale)); } } } } }
private void addCustomTab(final int position, String title) { CustomTabView tab = new CustomTabView(getContext()); tab.getTabItemTxt().setText(title); if (position == 0) tab.getTabItemTxt().setSelected(true); addTab(position, tab); }