Android简易实战教程--第十七话《自定义彩色环形进度条》
2016-08-14 13:02
232 查看
转载请注明出处:http://blog.csdn.net/qq_32059827/article/details/52203533
点击打开链接
在Android初级教程里面,介绍了shape用法的理论知识,再来完成这个小案例将会变得非常简单哦。(欢迎学习阅读):http://blog.csdn.net/qq_32059827/article/details/52203347 点击打开链接
这一篇就针对这个知识点,完成一个自定义的彩色进度条。系统自带的环形进度条是黑白相间的,如果你不是色盲,肯定觉得那个进度条其丑无比!就有必要设计一下它的状态,让我们给她点”颜色”看看。
首先看一下要设计的进度条长什么样子,动态截图如下:
接下来就一步步的完成这个效果。
还是老样子,在drawable目录下建一个shape类型的文件。里面代码如下:
在style里面加入如下代码:
然后再布局文件里面引入样式:
运行程序截图:
点击打开链接
在Android初级教程里面,介绍了shape用法的理论知识,再来完成这个小案例将会变得非常简单哦。(欢迎学习阅读):http://blog.csdn.net/qq_32059827/article/details/52203347 点击打开链接
这一篇就针对这个知识点,完成一个自定义的彩色进度条。系统自带的环形进度条是黑白相间的,如果你不是色盲,肯定觉得那个进度条其丑无比!就有必要设计一下它的状态,让我们给她点”颜色”看看。
首先看一下要设计的进度条长什么样子,动态截图如下:
接下来就一步步的完成这个效果。
还是老样子,在drawable目录下建一个shape类型的文件。里面代码如下:
在style里面加入如下代码:
<style name="ProgressBar"> <item name="android:indeterminateOnly">true</item> <item name="android:indeterminateDrawable">@drawable/progressstyleshape</item> <item name="android:indeterminateBehavior">repeat</item> <item name="android:indeterminateDuration">3500</item> <item name="android:minWidth">60dip</item> <item name="android:maxWidth">60dip</item> <item name="android:minHeight">60dip</item> <item name="android:maxHeight">60dip</item> <item name="android:mirrorForRtl">false</item> </style>在style里面引入了shape,drawable/progressstyleshape.xml文件里面的代码如下:
<?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:toDegrees="360" > <!-- 封装一个动画 0~360°旋转、锚点位于中心 --> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:innerRadiusRatio="3" android:shape="ring" android:thicknessRatio="10" android:useLevel="false" > <gradient android:endColor="#0000ff" android:startColor="#ff0000" android:type="sweep" /> <!-- android:shape="ring"系统默认矩形,这里修改为环形 android:innerRadiusRatio=""表示内半径比:矩形宽度/内半径比 = 圆环的半径,这个值越大,整个环形越小 android:thicknessRatio="10"表示厚度比:矩形宽度/厚度比 = 环形的厚度。这个值越大,线条厚度越细 android:useLevel="false"表示让进度条环形不切分,完全显示,不是仅仅旋转一次 gradint表示颜色的渐变,颜色的过度 android:type="sweep" 表示扫射的效果,给人一种颜色慢慢过度的感觉 --> </shape> </rotate>
然后再布局文件里面引入样式:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <ProgressBar android:layout_centerInParent="true" style="@style/ProgressBar" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout>
运行程序截图:
相关文章推荐
- Android简易实战教程--第十七话《自定义彩色环形进度条》
- Android实战简易教程-第十七枪(LayoutAnimation布局动画)
- Android实战简易教程-第四枪(ScrollView和HorizontalScrollView动态添加控件并提供事件监听)
- Android实战简易教程-第九枪(BitmapFactory.Options对资源图片进行缩放)
- Android实战简易教程-第二十二枪(基于Baas的用户注册功能)
- Android实战简易教程-第二十八枪(Uri转String型实例)
- Android实战简易教程-第五枪(ListView用法研究)
- Android实战简易教程-第二十三枪(基于Baas的用户注册验证用户名是否重复功能!)
- Android实战简易教程-第十九枪(SwipeRefreshLayout下拉刷新使用实例)
- Android实战简易教程-第二十七枪(Android设置头像上传功能实现)
- Android实战简易教程-第七枪(Activity的启动模式)
- Android实战简易教程-第十一枪(树形组件:ExpandableListView显示和动态添加删除)
- Android实战简易教程-第二十三枪(基于Baas的用户注册和登录模块实现!)
- Android实战简易教程-第二枪(Spinner下拉级联效果)
- Android实战简易教程-第八枪(ImageSwitcher用法实例)
- Android实战简易教程-第十三枪(五大布局研究)
- Android实战简易教程-第十四枪(介绍SwipeMenuListView-简单实现类似QQ的滑动删除效果)
- Android实战简易教程-第二十六枪(基于ViewPager实现微信页面切换效果)
- Android实战简易教程-第二十四枪(基于Baas的用户表查询功能实现!)