今天我们1min实现微信主界面中的移动指示器,当我们切换ViewPager时,上方的小三角指示器联动。
最终效果如图所示:
1.初始化数据时实现ViewPager.OnPageChangeListener并重写onPageScrolled方法:
main_vp_main.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
top_vpi_main.scroll(position, positionOffset);
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
2.在 ViewPagerIndicator中实现scroll方法,从而实现指示器跟随手指移动。
//指示器跟随手指移动
public void scroll(int position, float positionOffset) {
int tabWidth = getWidth() / 3;
mMoveTranslationX = (int) (tabWidth * (position + positionOffset));
invalidate();
}