ViewPagerIndicator

ViewPagerIndicator

FragmentPagerAdapter,见名知意,这个适配器就是用来实现Fragment在ViewPager里面进行滑动切换的,因此, 如果我们想实现Fragment的左右滑动,可以选择ViewPager和FragmentPagerAdapter实现。 FragmentPagerAdapter拥有自己的缓存策略 ,当和ViewPager配合使用的时候,会缓存当前Fragment以及左边一个、右边一个,一共三个Fragment对象。假如有三个Fragment ,那么在ViewPager初始化之后,3个fragment都会加载完成,中间的Fragment在整个生命周期里面只会加载一次,当最左边的Fragment处于显示状态,最右边的Fragment由于超出缓存范围,会被销毁,当再次滑到中间的Fragment的时候,最右边的Fragment会被再次初始化。


//动态设置tab

mViewPagerIndicator.setVisibleTabCount(4);

mViewPagerIndicator.setTabItemTitles(mTitles);

mViewpager.setAdapter(mAdapter);

mViewPagerIndicator.setViewPager(mViewpager,0);


// w/3为每个tab的宽度,目前可见为3个

mTriangleWidth= (int) (w /mTabVisibleCount*RADIO_TRIANGLE_WIDTH);

//选取最小的那一个作为宽

mTriangleWidth= Math.min(mTriangleWidth,DIMENSION_TRIANGLE_WIDTH_MAX);

// 第一个三角形的偏移位置

mInitTranslationX= w /mTabVisibleCount/2-mTriangleWidth/2;

initTriangle();


源码地址https://github.com/FoxconnPeter/ViewPagerIndicator

你可能感兴趣的:(ViewPagerIndicator)