Android 自定义ProgressBar样式
2016-07-08 11:06
387 查看
首先,在activity_main中定义个一个ProgressBar 控件
上面的dialog_style_xml_color.xml 定义了一个圆形的的进度条 代码如下
这样就完成成功了,启动后就会看到 一个圆形 三种颜色的进度条在旋转了
如果需要把一张图片放在进度条上面自己旋转可以这样定义
定义一个custom_progress_draw 的xml文件
然后我们只需要把ProgressBar的android:indeterminateDrawable 换成 custom_progress_draw 这个布局就可以了
<?xml version="1.0" encoding="utf-8"?> <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="com.example.blue.studyui.MainActivity"> <!--indeterminateDrawable 的样式xml为自己定义的xml--> <ProgressBar android:id="@+id/progress_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:indeterminate="false" android:indeterminateDrawable="@drawable/dialog_style_xml_color" android:layout_marginTop="148dp" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> </RelativeLayout>
上面的dialog_style_xml_color.xml 定义了一个圆形的的进度条 代码如下
<?xml version="1.0" encoding="utf-8"?> <!--形状ring(环形--> <!--innerRadiusRation 浮点型,以环的宽度比率来表示内环的半径--> <!--thicknessRation 以环的宽度比率来表示环的厚度--> <!--useLevel boolean值,如果当做是LevelListDrawable使用时值为true,否则为false.设置为true无渐变。false有渐变色--> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:toDegrees="360"> <shape android:innerRadiusRatio="3" android:shape="ring" android:thicknessRatio="8" android:useLevel="false"> <gradient android:centerColor="#FFDC35" android:centerY="0.50" android:endColor="#CE0000" android:startColor="#FFFFFF" android:type="sweep" android:useLevel="false" /> </shape> </rotate>
这样就完成成功了,启动后就会看到 一个圆形 三种颜色的进度条在旋转了
如果需要把一张图片放在进度条上面自己旋转可以这样定义
定义一个custom_progress_draw 的xml文件
<?xml version="1.0" encoding="utf-8"?> <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/load" android:pivotX="50%" android:pivotY="50%" />
然后我们只需要把ProgressBar的android:indeterminateDrawable 换成 custom_progress_draw 这个布局就可以了
相关文章推荐
- Android实现可使用自定义透明Dialog样式的Activity完整实例
- android6.0出错解决方法解决
- Android ListView下拉刷新
- Android Fragment的生命周期和返回栈一
- android添加各种权限
- Android Developer Tools安装ant插件
- Android 自己动手写ListView学习其原理 3 ItemClick,ItemLongClick,View复用
- Android Zxing 扫描器 扫描框、扫描线定制样式
- Android_相关路径
- Android开发之细说ListView上拉加载,下拉刷新过程
- Material Design 最全解析_4 视图和效果
- Fragment, Activity传值的注解组件
- Android对接后台数据第一步之接口是否可用
- BroadcastReceiver的两种注册方式(静态注册和动态注册)(转)
- Android程序开发之ListView实现横向滚动(带表头与固定列)
- Android的Task和Activity相关
- android R文件丢失
- android Java 冒泡排序 最大值 最小值
- 快速掌握 Android Studio 中 Gradle 的使用方法
- Android实现软件列表的点击启动另外一个程序功能【附demo源码下载】