ProgressBar自定义
2015-06-05 17:58
309 查看
ProgressBar自定义
1: 在JAVA代码中在java代码中 ProgressBar 继承自View, 在android.widegt包中
ProgressDialog 继承自Dialog, 在 android.app包中。
2: 在XML文件中
ProgressBar 默认是圆形转圈。
当为ProgressBar设置style="?android:attr/progressBarStyleHorizontal",后ProgressBar变成水平进度条,可以设置progress 和maxprogress
ProgressBar 在默认情况下,如果设置其它的style:
<ProgressBar style="@android:style/Widget.ProgressBar.Inverse"/> 中等大小
<ProgressBar style="@android:style/Widget.ProgressBar.Large.Inverse"/> 大
<ProgressBar style="@android:style/Widget.ProgressBar.Small.Inverse"/> 小
a: 通过动画实现自定义ProgressBar
定义res/anim/loading.xml如下:
<?xml version="1.0" encoding="UTF-8"?> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="150" android:drawable="@drawable/loading_01" /> <item android:duration="150" android:drawable="@drawable/loading_02" /> <item android:duration="150" android:drawable="@drawable/loading_03" /> <item android:duration="150" android:drawable="@drawable/loading_04" /> <item android:duration="150" android:drawable="@drawable/loading_05" /> <item android:duration="150" android:drawable="@drawable/loading_06" /> <item android:duration="150" android:drawable="@drawable/loading_07" /> </animation-list>
在layout文件中引用如下:
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="false" android:indeterminateDrawable="@anim/loading" />
b:通过自定义颜色实现
定义res/drawable/dialog_style_xml_color.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" > <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>
在layout文件中引用如下:
<ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/textView1" android:layout_below="@+id/textView1" android:indeterminateDrawable="@drawable/dialog_style_xml_color" android:indeterminate="false" android:indeterminateDuration="1000" android:layout_marginTop="155dp" />
c、使用一张图片进行自定义
定义res/drawable/dialog_style_xml_icon.xml如下:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <rotate android:drawable="@drawable/dx_loading_dialog_rotate_img" android:fromDegrees="0.0" android:pivotX="50.0%" android:pivotY="50.0%" android:toDegrees="360.0" /> </item> </layer-list>
在layout文件中引用如下:
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="false" android:indeterminateDrawable="@drawable/dialog_style_xml_icon" />
d: <animated-rotate/>旋转一张图片:
res/drawable/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/circular" android:pivotX="50%" android:pivotY="50%" />
<?xml version="1.0" encoding="utf-8"?> <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/circular" android:pivotX="50%" android:pivotY="50%" />
相关文章推荐
- SQLSERVER sp_indexoption的用法 ---- 配置SQLSERVER 只使用行锁
- 生成删除所有外键约束语句
- netty 多线程用一个长连接(channel) 发送消息 并发安全吗?
- 测试博文
- jQuery选择器
- 全文检索的基本原理
- 取月末和取月初
- weblogic后台启动及相杀死相关进程
- 【LeetCode】Maximal Rectangle && Maximal Square
- nginx 入门配置
- SQL SERVER 2005 分区的基本操作
- 在Linux系统中安装使用恶意软件扫描工具及杀毒引擎的教程
- grep
- 路由表填充及准则
- Xcode 6 打包ipa文件
- BDtree记录1
- c++11新特性for循环
- Core Animation 浅析
- Android自定义控件
- 如果你不写代码了你会去做什么?