Android 三种方式实现自定义圆形页面加载中效果的进度条
转载:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=76872
一、通过动画实现
定义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:id="@+id/loading_process_dialog_progressBar"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:indeterminate="false" android:indeterminateDrawable="@anim/loading" />
二、通过自定义颜色实现
定义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:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"
- android:toDegrees="360">
- <shape android:shape="ring" android:innerRadiusRatio="3"
- android:thicknessRatio="8" android:useLevel="false">
- <gradient android:type="sweep" android:useLevel="false"
- android:startColor="#FFFFFF" android:centerColor="#FFDC35"
- android:centerY="0.50" android:endColor="#CE0000" />
- </shape>
- </rotate>
在layout文件中引用如下:
- <ProgressBar android:id="@+id/loading_process_dialog_progressBar"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:indeterminate="false" android:indeterminateDrawable="@drawable/dialog_style_xml_color" />
三、使用一张图片进行自定义
定义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/dialog_progress_round"
- android:fromDegrees="0.0" android:toDegrees="360.0" android:pivotX="50.0%"
- android:pivotY="50.0%" />
- </item>
- </layer-list>
在layout文件中引用如下:
- <ProgressBar android:id="@+id/loading_process_dialog_progressBar"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:indeterminate="false" android:indeterminateDrawable="@drawable/dialog_style_xml_icon" />
main.xml如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="fill_parent"
- android:layout_height="fill_parent" android:gravity="center"
- android:background="#FFF">
- <Button android:text="@string/anim" android:id="@+id/anim"
- android:layout_width="120dip" android:layout_height="wrap_content" />
- <Button android:text="@string/color" android:id="@+id/color"
- android:layout_width="120dip" android:layout_height="wrap_content" />
- <Button android:text="@string/icon" android:id="@+id/icon"
- android:layout_width="120dip" android:layout_height="wrap_content" />
- </LinearLayout>
之后通过三个按钮将ProgressBar 放在对话框中显示出来就完成了。
截图如下:
Android 三种方式实现自定义圆形页面加载中效果的进度条的更多相关文章
- Android 三种方式实现自定义圆形进度条ProgressBar
一.通过动画实现 定义res/anim/loading.xml如下: <?xml version="1.0" encoding="UTF-8"?> ...
- 三种方式解决你的js加载乱码
第一种方式——编码统一 我们以前觉得出现乱码的原因是因为编码不统一,就是因为我们设置编码统一之后,就解决了问题,所以,让html和js的编码统一,是最简单的一个乱码解决方式,原因是什么,是因为,如果你 ...
- 【Android进度条】三种方式实现自定义圆形进度条ProgressBar
一.通过动画实现 定义res/anim/loading.xml如下: <?xml version="1.0" encoding="UTF-8"?> ...
- jQuery8种不同的瀑布流懒加载loading效果
优化图片加载插件jQuery8种不同的瀑布流懒加载loading效果 在线预览 下载地址 实例代码 <ul class="grid effect-1" id="g ...
- css 实现页面加载中等待效果
<!DOCTYPE html> <html> <head> <title>css实现页面加载中,请稍候效果</title> <meta ...
- 利用document的readyState去实现页面加载中的效果
打开新的网页时,为了增强友好性体验,告知用户网页正在加载数据需要呈现一个"页面加载中"之类的提示,只需要利用document就可以实现. 实现示例代码如下: <style&g ...
- 页面加载中jquery逐渐消失效果实现
为了获得更好的用户体验,现在大多数网页都会在页面中加一个加载中效果,这里实现一个加载中逐渐消失的效果,以至于看上去不那么生硬. html: <div id="loading" ...
- 三种思路实现自定义404页面:Tomcat、SpringMVC精准匹配、重写DispatchServlet
第1种方式:Tomcat直接处理 web.xml <error-page> <error-code>404</error-code> <location> ...
- 三种方式创建bean对象在springIOC容器中初始化、销毁阶段要调用的自定义方法
1. 使用@Bean注解定义initMethod和destroyMethod 所谓initMethod和destroyMethod,是指在springIOC容器中,对于bean对象执行到初始化阶段和销 ...
随机推荐
- .NET的语法优化
1.多参数 判断 条件 //判断 var fileKey = new { DateStart = search.DateStart.IsNull(), //关开始时间 DateEnd = search ...
- 在config文件输入特殊字符
今天遇到要在config文件中配置一个包含引号,尖括号的特殊字符的问题,config文件不支持转义字符,我开始发动自己的脑子想,想出一个蹩脚的方法,用其他的字符替换比如&,?,!,问题倒是解决 ...
- APP推广入门之AppStore数据分析
AppStore中有很多数据,但对于一个App推广者而言,最需要关注的无非这么几个,即下载量.评论.权重.榜单排名.搜索排名以及热词搜索等.至于这些数据具体代表着什么,下面就先由下载量开始,来简单介绍 ...
- C# string格式的日期时间字符串转为DateTime类型
(1 )Convert.ToDateTime(string) string格式有要求,必须是yyyy-MM-dd hh:mm:ss (2):Convert.ToDateTime(string, IFo ...
- BZOJ1576 (最短路+并查集)
#include <cstdio> #include <cstring> #include <algorithm> #include <queue> # ...
- OLAP的一些知识——接下去的项目需要的背景
1.维是人们观察主题的特定角度,每一个维分别用一个表来描述,称为“维表”(Dimension Table),它是对维的详细描述. 2.事实表示所关注的主题,亦由表来描述,称为“事实表”(Fact Ta ...
- ucsc工具集合
wget http://hgdownload.cse.ucsc.edu/admin/jksrc.zip 解压后所有工具在kent目录里 发现个更方便的.... http://hgdownload.cs ...
- 传话游戏—C++
编程之美一道简单的热身题,也是我们生活中常玩的传话游戏.(~.~芒果台玩过的) 题意如下: Alice和Bob还有其他几位好朋友在一起玩传话游戏.这个游戏是这样进行的:首先,所有游戏者按顺序站成一排, ...
- suse linux修改hostname
SUSELinux中修改hostname需要修改以下两个文件 $vi /etc/HOSTNAME $vi /etc/hosts 然后重启系统即可.
- sprintf 用法
字符串格式化命令,主要功能是把格式化的数据写入某个字符串中 试试下面的代码就知道了 #include<cstdio> #include<cstdlib> using names ...