public void OnPageScrollStateChanged(int state) { if (state == ViewPager.ScrollStateIdle) { ScrollToChild(pager.CurrentItem, 0); } //Full alpha for current item var currentTab = tabsContainer.GetChildAt(pager.CurrentItem); Selected(currentTab); //Half transparent for prev item if (pager.CurrentItem - 1 >= 0) { var prevTab = tabsContainer.GetChildAt(pager.CurrentItem - 1); NotSelected(prevTab); } //Half transparent for next item if (pager.CurrentItem + 1 <= pager.Adapter.Count - 1) { View nextTab = tabsContainer.GetChildAt(pager.CurrentItem + 1); NotSelected(nextTab); } if (OnPageChangeListener != null) { OnPageChangeListener.OnPageScrollStateChanged(state); } }
public void OnPageSelected(int position) { UpdateSelection(position); if (OnPageChangeListener != null) { OnPageChangeListener.OnPageSelected(position); } }
public void OnPageScrolled(int position, float positionOffset, int positionOffsetPixels) { currentPosition = position; currentPositionOffset = positionOffset; var child = tabsContainer.GetChildAt(position); if (child == null) { return; } var offset = tabCount > 0 ? (int)(positionOffset * child.Width) : 0; ScrollToChild(position, offset); Invalidate(); if (OnPageChangeListener != null) { OnPageChangeListener.OnPageScrolled(position, positionOffset, positionOffsetPixels); } }