Android中 如何让水平进度条(ProgressBar)从左往右变化
来源:互联网 发布:linux运维好找工作吗 编辑:程序博客网 时间:2024/06/05 19:11
今天尝试做个类似街霸中的游戏场景,头部需要显示PK双方的血条。为了达到一个对称的效果,右边的血条要从左往右减少。
展现血条首先想到的是使用ProgressBar,但是发现都是从右往左减少。google了下,没发现有资料介绍如何配置来实现从左到右变化的效果。万幸的是,我们可以看到源码。那么自己动手,丰衣足食.
一、失败的尝试
首先想到的是使用Matrix来做镜像处理。
将ProgressBar中的源码copy出来,建一个自己的进度条MyProgressBar。
当然,这中间要处理很多错误信息。需要定义自己的进度条可配置的属性,样式等等。
修改ProgressBar中的onDraw方法:
跑起来后发现progressBar中存在MinWidth和MaxWidth,不同
情况下会影响布局。无奈下只能跟代码了。
二、成功的尝试
这次跟进了
d.draw(canvas);
这行代码,发现progressBar在构造的时候使用了ClipDrawable. 阅读下文档发下如下介绍:
android:clipOrientation The orientation for the clip.
android:gravity Specifies where to clip within the drawable.
翻译过来就是:
android:clipOrientation 定义裁剪的方向(水平方向裁剪还是垂直方向裁剪)
android:gravity 指定drawable中可裁剪的部分
尝试修改了下progressBar的Drawable配置文件:
同时定义进度条的样式:
运行后的效果:
- Android中 如何让水平进度条(ProgressBar)从左往右变化
- Android 螺旋水平进度条 progressbar
- Android中ProgressBar进度条
- Android ProgressBar高级自定义水平/圆形进度条
- android ProgressBar水平进度条的颜色设置
- Android ProgressBar 反向进度条/进度条从右到左走
- 水平进度条ProgressBar
- ProgressBar进度条(圆形进度条|水平进度条)
- Android学习札记7:ProgressBar水平进度条的颜色设置
- ProgressBar 水平进度条(初步)
- 自定义水平进度条Horizontal ProgressBar
- 水平进度条ProgressBar(progressBarStyleHorizontal)
- android中自定义ProgressBar水平样式
- Android中自定义水平的ProgressBar
- Android中进度条ProgressBar的使用
- Android中使用ProgressBar实现进度条
- Android自定义进度条-带文本(文字进度)的水平进度条(ProgressBar)
- Android自定义进度条-带文本(文字进度)的水平进度条(ProgressBar)
- AndroidGUI20:GridView常用技巧
- Quartz的配置及使用和定时触发功能的实现
- HDU 2007 平方和与立方和
- 如何实现Oracle修改用户权限
- Linux NAND FLASH驱动代码分析
- Android中 如何让水平进度条(ProgressBar)从左往右变化
- CruiseControl入门
- IBM x3650 M3服务器安装Red Hat Enterprise Linux问题
- 淘宝面试记
- zz程序员成长的10个阶段
- 更改3389端口
- Q:若利用WinDriver来生成USB2.0接口的摄影机驱动程序,仍是无法顺利截取该摄影机的画面,而当我想要重新设定摄影机的相关驱动设定时,发现WinDriver夺取主控权,应如何解决?
- nsIObserverService
- “SVN+Cruisecontrol”环境下,系统无法发送邮件