`

三种方式实现自定义圆形进度条ProgressBar

 
阅读更多

一、通过动画实现

定义res/anim/loading.xml如下:

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <animation-list android:oneshot="false"  
  3. xmlns:android="http://schemas.android.com/apk/res/android">  
  4.   <item android:duration="150" android:drawable="@drawable/loading_01" />  
  5.   <item android:duration="150" android:drawable="@drawable/loading_02" />  
  6.   <item android:duration="150" android:drawable="@drawable/loading_03" />  
  7.   <item android:duration="150" android:drawable="@drawable/loading_04" />  
  8.   <item android:duration="150" android:drawable="@drawable/loading_05" />  
  9.   <item android:duration="150" android:drawable="@drawable/loading_06" />  
  10.   <item android:duration="150" android:drawable="@drawable/loading_07" />  
  11. </animation-list>   



二、通过自定义颜色实现

定义res/drawable/progress_small.xml如下:

 

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <rotate xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:fromDegrees="0"  
  4.     android:pivotX="50%"  
  5.     android:pivotY="50%"  
  6.     android:toDegrees="360" >  
  7.     <shape  
  8.         android:innerRadiusRatio="3"  
  9.         android:shape="ring"  
  10.         android:thicknessRatio="8"  
  11.         android:useLevel="false" >  
  12.         <gradient  
  13.             android:centerColor="#FFFFFF"  
  14.             android:centerY="0.50"  
  15.             android:endColor="#1E90FF"  
  16.             android:startColor="#000000"  
  17.             android:type="sweep"  
  18.             android:useLevel="false" />  
  19.     </shape>  
  20. </rotate>  


三、使用一张图片进行自定义
定义res/drawable/progress_small.xml如下:

 

  1. <rotate xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     android:drawable="@drawable/spinner_black_16"  
  3.     android:pivotX="50%"  
  4.     android:pivotY="50%"  
  5.     android:fromDegrees="0"  
  6.     android:toDegrees="360" />  



使用方法都一样, 如下:

 

  1. <ProgressBar  
  2.     android:layout_width="wrap_content"  
  3.     android:layout_height="wrap_content"  
  4.     android:indeterminateDrawable="@drawable/progress_small"/>  



 

也可以根据需要通过设置style来设置其大小! 一般只有使用默认的ProgrressBar的时候采用。对于上述三种自定义的方式,建议修改直接修改图片大小,或者shape;

 

  1. <ProgressBar  
  2.     android:layout_width="wrap_content"  
  3.     android:layout_height="wrap_content"  
  4.     android:layout_centerInParent="true"  
  5.     style="?android:attr/progressBarStyleSmall"  
  6.     android:indeterminateDrawable="@drawable/progress_small"/>  


设置成progressBarStyleSmall后,图标变小。 

设置成progressBarStyleLarge后,图标变大

   

 
 

 

参考: http://blog.csdn.net/feng88724/article/details/7409032

  • 大小: 6.1 KB
  • 大小: 10.5 KB
分享到:
评论

相关推荐

    Android 三种常用实现自定义圆形进度条 ProgressBar

    Android社区提供了许多优秀的第三方库,例如CircleProgress或ArcProgressStackView,它们提供丰富的样式和动画效果,使开发者能快速实现自定义圆形进度条。 1. 添加依赖库到build.gradle文件: ```groovy ...

    Android三种方式实现ProgressBar自定义圆形进度条

    进度条样式在项目中经常可以见到,下面小编给大家分享Android三种方式实现...自定义圆形进度条ProgressBar的一般有三种方式: 一、通过动画实现 定义res/anim/loading_anim.xml如下: &lt;?xml version=1.0 en

    自定义圆形进度条,wpf Progressbar进度条样式修改

    本篇文章将深入探讨如何在WPF中实现自定义的圆形进度条,并基于`wpf Progressbar`进行样式修改。 首先,我们需要理解WPF的样式和模板系统。`ControlTemplate`是WPF中用于定义控件外观的关键组件,它允许我们完全...

    自定义圆形进度条中间加图

    创建自定义圆形进度条的第一步是定义View类,继承自View或者ProgressBar。在这个类中,我们需要重写onDraw()方法,该方法是绘制视图的核心。在这里,我们将使用Paint对象设置颜色、线条宽度以及抗锯齿效果,然后使用...

    android实现的自定义圆形进度条

    标题提到的“android实现的自定义圆形进度条”就是一种常见的自定义视图,它允许开发者创建具有独特外观和行为的进度指示器。下面我们将深入探讨如何在Android中实现这样一个自定义圆形进度条,并结合描述和标签,...

    自定义圆形 进度条 circleProgressbar

    "自定义圆形进度条"(circleProgressbar)就是这样的一个实例,它允许开发者根据特定需求创建具有个性化外观和行为的进度条组件。这个自定义视图通常用于展示某种任务或进程的完成程度,比如加载、刷新或者计时等...

    C# Winform 自定义进度条ProgressBar

    "C# Winform 自定义进度条ProgressBar"的主题正聚焦于这一需求,允许开发者根据自己的喜好或者项目需求改变默认进度条的外观,特别是其背景颜色。 进度条(ProgressBar)是Windows应用程序中常见的一种组件,用于...

    安卓进度条loadingprogress相关-自定义圆形进度条1.rar

    由于这个压缩包中包含了"自定义圆形进度条1"的源码,开发者可以通过阅读和调试代码,了解每个部分如何实现上述知识点。不过,由于代码未经全面验证,可能需要开发者自行调整以使其正常运行。对于初学者来说,这是一...

    android自定义圆形进度条

    总的来说,创建"android自定义圆形进度条"是一个涉及到图形绘制、属性解析、动画实现等多个技术点的过程。开发者需要具备扎实的Android基础知识,以及一定的图形编程能力。通过这个过程,不仅可以提高开发技巧,还能...

    安卓自定义圆形进度条

    一、自定义圆形进度条的基本概念 自定义圆形进度条通常涉及以下关键点: 1. 绘制:利用Android的`View`或`ViewGroup`作为基类,重写`onDraw()`方法,在这个方法内使用`Canvas`进行绘制。我们可以使用`Path`来创建...

    【Android】自定义圆形进度条效果(有进度标识点)

    总共分为三层:一层为圆形边线,一层为进度边线,一层用来显示标识进度节点。 public class CircleProgressBar extends View { private int maxProgress = 100; private int progress = 15; private int ...

    自定义圆形进度条

    因此,我们需要通过自定义View来实现特定效果,如本例中的“自定义圆形进度条”。 创建自定义圆形进度条的第一步是创建一个新的Java类,继承自Android的ProgressBar。在这个类中,我们将重写必要的方法来绘制我们想...

    漂亮的自定义圆形进度条_android进度条实现代码.zip

    总的来说,实现“漂亮的自定义圆形进度条”需要掌握Android图形绘制的基本原理,理解View的生命周期和绘图流程,同时熟悉XML布局和动画系统的使用。通过不断实践和优化,可以打造出符合应用风格且用户体验极佳的...

    自定义圆形进度条,金额百分比

    创建一个自定义圆形进度条,我们需要继承Android的基础View类,如`View`或`ProgressBar`,然后重写其关键方法,如`onDraw()`。在`onDraw()`方法中,我们将绘制圆形轮廓以及百分比填充部分。我们可以利用`Canvas`对象...

    Android自定义圆形进度条

    首先,我们需要创建一个新的Java类,继承自Android的View类,作为自定义圆形进度条的基础。在`ProgressDemo`项目中,这个类可能被命名为`CircleProgressBar.java`。在该类中,我们需要重写以下关键方法: 1. **构造...

    自定义圆形ProgressBar(进度条)

    通过上述步骤,你已经掌握了自定义圆形ProgressBar的基本方法。在实际开发中,可以根据项目需求对其进行扩展和优化,从而打造出更加个性化的界面元素。如果你想要了解更多关于自定义View的知识,可以参考提供的文章...

    自定义圆形进度条倒计时

    要实现“自定义圆形进度条”,我们需要创建一个新的`View`类,通常是通过继承`ProgressBar`。在自定义类中,我们可以覆盖`onDraw()`方法,用`Canvas`对象绘制我们需要的圆形进度条。`Canvas`提供了丰富的绘图API,如...

Global site tag (gtag.js) - Google Analytics