支持左右两边同时滚动的Progressbar

首先来看效果图:

需求拆解分析:

1.首先我们需要实现一个自右向左的progressbar。
2.需要实现progressbar的滚动过程动画。
3.需要左右两个progressbar同时滚动,在中间相遇,此时进度正好和为100.

各个击破:


关于第一点,最开始,我的想法是自定义view,按照progressbar的源码去改改,尝试将方向改成自右向左。 后来发现progressbar的interdrawable属性是支持自右向左的, 只需要clip的时候设置gravity即可,那么这就很好办了。


第二点,让progress动起来。我想到了好几种方案:
- 可以利用属性动画
- 也可以不停的ondraw重绘,然后更改progress达到效果
- 这里我用了timerTask定时去更新进度达到了效果

读者有兴趣,可以试试其他的方案。


1, 2点都解决了,那么3就很容易了,只需要控制两个进度条的速度变化即可。


最后,代码托管在了github上,欢迎Star, fork.

点击查看源码

CSDN免积分下载通道


有任何问题可以加群或email找我

[Android提高班]

QQ群:123390596

专注干活 分享交流

你可能感兴趣的:(Android,Android,UI,动画)