这指示器,看着蛋疼懒得重写一个,因为一般都是圆, 这人看到支付宝最新的这个,就说要这个.
我一开始是拒绝的.给钱的,给钱的......
毕竟项目用的就是这个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