SeekBar的简单实现,Thumb移动的距离是固定,原始SeekBar为了让让Thumb站的下会修剪Thumb移动的距离。
<declare-styleable name="IndicatorBar">
<attr name="trackThickness" format="dimension"/> //track的厚度
<attr name="themeColor" format="reference|color"/> //主题颜色
<attr name="highlightColor" format="reference|color"/> //高亮颜色
<attr name="thumb" format="reference" /> //滑块图片
<attr name="highlightThumb" format="reference" /> //高亮滑块图片
<attr name="textSize" format="dimension" /> //字体大小
<attr name="highlightTextSize" format="dimension" /> //高亮字体的大小
<attr name="currentPosition" format="integer" /> //当前选中的position
<attr name="maxPosition" format="integer" /> //最大值
<attr name="indicatorOffset" format="integer" /> //indicator偏移
<attr name="lowlightSelectedText" format="string" /> //普通说明文字
<attr name="maxHighlightSelectedText" format="string" /> //高亮最大值说明文字
<attr name="showTicks" format="boolean" />
</declare-styleable>
以上对应的都有对应的java方法设置..
final IndicatorBar ib = (IndicatorBar) findViewById(R.id.indicatorBar1);
ib.setOnIndicatorChangeListener(new OnIndicatorChangeListener() {
@Override
public void onIndicatorChanged(IndicatorBar indicatorBar, int position, float xAtPosition) {
Log.i("position"+position, "xAtPosition"+xAtPosition);
}
});
ib.setHightlightIndicators(new int[]{3,4,5});//高亮indicator配置,在下图中就是亮色的数字