很多ViewPager和下面的图形绑定一块来滚动,也就是指示器,指示器可以是很多,正
方形,长方形,三角形,圆形等。
这里举一个三角形例子:
效果图:未滑动
滑动中:
这里滑动只要超过倒数第二个就自动向后滑动。
上代码:
自定义view:
public class ViewPagerIndicator extends LinearLayout {
private Paint paint;
private Path path;
private int triangleWidth;
private int triangleHeight;
private static final float RADIO_TRIANGLE_WIDTH = 1 / 6f;
private static final int HIGHCOLOR = 0xffffffff;
private static final int LOWERCOLOR = 0x88ffffff;
private int initTranslationX;
private int moveTranslationX;
private int TabVisibleCount;
private static final int COUNT_DEFAULT_TAB = 4;
private List<String> titles = new ArrayList<String>();
public ViewPagerIndicator(Context context, AttributeSet attrs) {
super(context, attrs);
// 获取可见Tab的数量
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.ViewPagerIndicator);
TabVisibleCount = ta.getInt(R.styleable.ViewPagerIndicator_visible_tab_count, COUNT_DEFAULT_TAB);
if (TabVisibleCount < 0) {
TabVisibleCount = COUNT_DEFAULT_TAB;
}
ta.recycle();
// 初始化画笔
paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
paint.setStyle(Style.FILL);
paint