简单粗暴的轮播RollViewPager带你飞

这指示器,看着蛋疼懒得重写一个,因为一般都是圆, 这人看到支付宝最新的这个,就说要这个.

我一开始是拒绝的.给钱的,给钱的......

毕竟项目用的就是这个rollviewpager依赖库

嗯!

然后开始想着怎么写

看源码还有没有其他样式...咦? 没有....

不好意思大神比较没空! 只能给你写个常用的....

然后就开始看源码了...

public class ColorPointHintView extends ShapeHintView 
看到这个圆圈的指示器继承这个.咦可以了 看源码去..

public abstract Drawable makeFocusDrawable();//选中时

public abstract Drawable makeNormalDrawable();//未选中

这两个方法 666666

然后按照圆的指示器仿写一个直接继承

public class LineIndicatorHintView extends ShapeHintView {

    private int focusColor;//选中时的颜色
    private int normalColor;//非选中时的默认颜色

    public LineIndicatorHintView(Context context, int focusColor, int normalColor) {
        super(context);
        this.focusColor = focusColor;
        this.normalColor = normalColor;
    }

    @Override
    public Drawable makeFocusDrawable() {
        GradientDrawable dot_focus = new GradientDrawable();
        dot_focus.setStroke(1, focusColor); //直接画个边框,这个应该可以去掉.
        dot_focus.setColor(focusColor);//边框内的颜色
        dot_focus.setSize(Util.dip2px(getContext(), 10), Util.dip2px(getContext(), 2));//这里最重要了画长度,高度
        return dot_focus;
    }

    @Override
    public Drawable makeNormalDrawable() {
        GradientDrawable dot_normal = new GradientDrawable();
        dot_normal.setStroke(1, normalColor);
        dot_normal.setColor(normalColor);
        dot_normal.setSize(Util.dip2px(getContext(), 4), Util.dip2px(getContext(), 2));
        return dot_normal;
    }

}


感谢github的大神下载地址: https://github.com/Jude95/RollViewPager


你可能感兴趣的:(android)