三种方式实现自定义圆形页面加载中效果的进度条

转自

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 放在对话框中显示出来就完成了。

截图如下:

AnimRoundProcessDialog.rar(70.46
KB, 下载次数: 2149)

时间: 2025-01-03 02:27:10

三种方式实现自定义圆形页面加载中效果的进度条的相关文章

Android 三种方式实现自定义圆形页面加载中效果的进度条

转载:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=76872 一.通过动画实现 定义res/anim/loading.xml如下: [java] view plaincopy <?xml version="1.0" encoding="UTF-8"?>   <animation-list android:oneshot="false"   xmlns:an

jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较_jquery

想要添加这个效果,先来弄明白页面的加载和事件执行顺序,看这个简单例子: <html xmlns="http://www.w3.org/1999/xhtml"> <head > <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>验证加载顺序</title> <script src=

基于javascript实现页面加载loading效果_javascript技巧

本文实为大家分享了javascript实现页面加载loading效果,供大家参考,具体内容如下 效果图: <html> <head> <title>正在载入</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body bgcolor="#FFFFFF"

使用Bootstrap3和Ladda UI实现的多种按钮“加载中”效果体验

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在线演示 大家在开发基于web的网站或者web应用中,常常在AJAX调用的过程中需要提示用户并且展示相关的"加载中"效果,类似的UI设计也非常多,比如,当点击一个按钮后,在它的旁边显示一个 "加载中" 文字,或者是添加一个"旋转GIF"动画效果图. 在今天这个教程中,我们将介绍来一个

Android绘制圆形百分比加载圈效果

先看一组加载效果图,有点粉粉的加载圈: 自定义这样的圆形加载圈还是比较简单的,主要是用到Canvans的绘制文本,绘制圆和绘制圆弧的api: /** * 绘制圆 * @param cx 圆心x坐标 * @param cy 圆心y坐标 * @param radius 圆的半径 * @param paint 画笔 */ public void drawCircle(float cx, float cy, float radius, @NonNull Paint paint) { ... } /**

Ember.js实现ajax 加载中效果

Ember.js 里,需要大量处理 ajax 请求,又因为是单页面应用,ajax 正在加载就更需要视觉上的反馈 – 否则用户会简单地认为他点击了却没有反应.譬如我有这样一个页面:  代码如下 复制代码 App.Router.map(function() {   this.resource('user', function() {     this.route('info');   }; }; 从 /user/index 路由(点击链接)到 /user/info,info 页面需要处理大量 aja

android调用H5显示加载中效果的示例代码

我们在看有些应用在引入h5的时候经常会有一个进度条在转,显示加载的意思,那么这个东西其实一般是我们android端做的事(不要把所有的事都推给h5~~~),其实实现起来很简单, ok 废话不多说,上代码吧 wv.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view,

两种方法实现在HTML页面加载完毕后运行某个js_javascript技巧

js方法: 复制代码 代码如下: <script type="text/javascript"> window.onload=function(){ var userName="xiaoming"; alert(userName); } </script> 以下为jQuery方法,需要引用jQuery文件. 复制代码 代码如下: <script type="text/javascript"> $(documen

C# PictureBox加载图片并显示进度条

  以前用winform的PictureBox时没有试过加载网络的图片,刚刚看到一段代码才了解到原来还有LoadAsync这个方法,可以异步加载图片,再加上LoadProgressChanged事件也可以获得当前加载的进度. 在窗体上放一个PictureBox控件,一个按钮,一个进度条控件,再用Label来显示当前进度百分比,具体代码如下: private void button1_Click(object sender, EventArgs e)         {             t