这段时间做项目,产品需求,进度条要做一个荧光效果,类似于Android4.0 浏览器中进度条那种样子。刚开始,百思不得其姐啊,还以为是用sharp文件或者canvas直接画出来的。后来一怒之下,把系统浏览器的apk包给解开了,坑爹的是,那个荧光效果的进度条居然是用的一张.9的图片,恍然大悟啊,不过,谷哥还是强大了一下,他的进度条用的并不是ProgressBar,而是重写的ImageView,当然,这个就不在今天的讨论范围了,呵呵,感兴趣的同学可以去看一下系统浏览器的源码。

这是Android 4.0中浏览器加载的效果,那个进度条,很惹眼的说~~

0818b9ca8b590ca3270a3433284dd417.png

而真相居然是一张制作巧妙的.9图片:progress.9.png(这里不得不赞一下Android中的.9图片(Nine-patch),真的很方便)

0818b9ca8b590ca3270a3433284dd417.png

当然使用起来就容易了,看代码:

/res/layout/activity_main.xml

android:id="@+id/pb"

style="?android:attr/progressBarStyleHorizontal"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_below="@id/tv"

android:progressDrawable="@drawable/progress_drawable" />/res/drawable/progress_drawable.xml

最后效果是这样的

0818b9ca8b590ca3270a3433284dd417.png

不过,实际体验中貌似有点不太完美,但理论上应该是这样的,呵呵,如果有错误之处,还望各位看官批评指正!

还有一个问题就是,这个进度条的更新感觉是一跳一跳的,不是很平滑,不知道能否加个动画效果让进度条的更新更加平滑一点,有类似经验的同学还望支个招啊,多谢了!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐