[发明专利]一种带范围标识的进度条的实现方法有效
申请号: | 201810722540.9 | 申请日: | 2018-07-04 |
公开(公告)号: | CN109032597B | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 孙征 | 申请(专利权)人: | 北京酷我科技有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38 |
代理公司: | 北京国标律师事务所 11753 | 代理人: | 姚克枫 |
地址: | 100080 北京市海淀区农大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 范围 标识 进度条 实现 方法 | ||
1.一种带范围标识的进度条的实现方法,其特征在于,包括如下步骤:
定义边框控件KwRangeSeekBar,继承android系统提供的SeekBar控件,
在onSizeChanged回调中获取控件KwRangeSeekBar的高度h,进度条可用的区域available,进度条总的宽度减去左右内边距,得到可用的进度范围,
获取标识范围的左边标记的横坐标mTagLeft,
mTagLeft=getX(mStartProgress),
获取标识范围的右边标记的横坐标mTagRight,
mTagRight=getX(mEndProgress),
其中,mStartProgress是外部传递给KwRangeSeekBar进度条的起始进度,mEndProgress是外部传递给KwRangeSeekBar进度条的结束进度,getX是根据进度获取横坐标的函数,
在onTouchEvent的回调中,处理用户抬起的操作,
在onDraw回调中,绘制进度条的三种进度值,具体包括:
绘制进度条背景,
绘制二级进度条,
绘制滑块和带范围标识,具体包括:
调用SeekBar提供的获取当前进度的api getProgress给curProgress赋值,所述curProgress用于存储当前进度,
调用根据进度获取横坐标函数getX(curProgress)给curX赋值,所述curX用于存储横坐标,
实时绘制切换的进度,预设画笔mPaint的颜色为黄色线条mPaint.setColor(COLOR_TAG_YELLO),
绘制时,如果当前进度curProgress大于进度范围的开始值mStartProgress,小于等于mEndProgress结束值,就从进度范围的左边标记mTagLeft绘制到当前进度curX的像素值,如果当前进度值大于进度范围的最大值mEndProgress,就从进度范围的左标记绘制到右侧标记,防止超出范围;
绘制两条标记线,mHalfHeight是预设的标记线的高度值,中心mCenterY减去高度mHalfHeight到mCenterY加上mHalfHeight绘制左边的竖线标记,同理绘制右边标记,
绘制滑块:调用SeekBar提供的drawThumb绘制滑块。
2.如权利要求1所述的带范围标识的进度条的实现方法,其特征在于:在边框控件KwRangeSeekBar中,定义画笔mPaint和mPaintTag的画笔Paint对象,用来绘制进度条和竖线标记;
定义mRectLeft,mRectRight,表示左边和右边圆角矩形的带颜色区域,是RectF类型的变量;
定义mStartProgress,mEndProgress,表示进度范围的起始值和最大值,类型是int。
3.如权利要求1所述的带范围标识的进度条的实现方法,其特征在于:mCenterY=h/2;表示控件KwRangeSeekBar的中间的高度,绘制进度条的时候,在这个高度上绘制。
4.如权利要求1所述的带范围标识的进度条的实现方法,其特征在于:getX函数的具体步骤为:
调用SeekBar控件的系统api getMax,获取进度条的最大进度值max,
计算出当前进度和总进度的比例sacle,scale=progress*1.0f/max,progress是输入参数,表示当前的进度,
计算scale*available+getPaddingLeft(),返回计算结果,就根据进度值计算出了对应进度条的左边标记的横坐标值mTagLeft,available是可用的进度条的宽度,getPaddingLeft()是SeekBar控件提供的获取左边距的api,
按如上算法相应的计算出对应进度条的右边标记的横坐标值mTagRight。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810722540.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带范围的进度条的实现方法
- 下一篇:一种交易流程的动态生成方法及装置