name | format | default | 备注 |
---|---|---|---|
indicateColor | color|reference | Color.BLACK | 指示器颜色 |
indicateWidth | dimension|reference | 12dp | 指示器的宽度 |
indicateHeight | dimension|reference | 24dp | 指示器高度 |
smallIndicateColor | color|reference | Color.BLACK | 小指示器的颜色 |
smallIndicateWidth | dimension|reference | 10dp | 小指示器宽度 |
smallIndicateHeight | dimension|reference | 10dp | 小指示器高度 |
textColor | color|reference | Color.BLACK | 字体颜色 |
textSize | dimension|reference | 12dp | 字体大小 |
indicateMarginText | dimension|reference | 16dp | 指示器距离文字的距离 |
isDrawText | boolean | true | 是否绘制文字 |
startIndex | integer|reference | 0 | 开始下标 |
endIndex | integer|reference | 100 | 结束下标 |
smallIndicateCount | integer|reference | 4 | 大指示器之间间隔多少个小的 |
indicatePadding | dimension|reference | 12dp | 指示器之间的距离 |
orientation | enum(horizontal||vertical) | horizontal | 尺子的方向 |
gravity | enum(top||bottom) | bottom | 文字位置相对尺子的位置 |
多指触控支持 |
- 适配wrap_content
- 添加springBack功能
- 支持代码设置状态
- 添加状态接口回调
- 自定义准线位置(现在默认是屏幕中间)
因为RulerView第一进入就会把所有刻度绘制出来,多出来的部分只是屏幕未能显示出来,所以这样就会导致一个问题,如果绘制的内容很多(也就是说大范围),很容易卡顿,因为是RulerView是继承自View,所以没有做回收机制,同时RulerView的初衷就应该是小范围选择,当然了这个问题,在做的时候,曾经想过办法解决,但还在想的阶段,1.使用Canvas clip 动态限制绘制区域 2.动态绘制屏幕区域(类似与常见的绘制动态滚动圆弧做法) 3.重做,用RecyclerView+自定义LayoutManager。