花样android Progressbar http://www.eoeandroid.com/thread-1081-1-1.html
http://www.cnblogs.com/xirihanlin/archive/2010/06/14/1758145.html
xml布局文件需加入如下的进度条构件:
<ProgressBar
android:id="@+id/loadProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateDrawable="@drawable/progressbar" />
其中的indeterminteDrawable属性就是用来设置进度条颜色等属性的,其内容如下:
<?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="#FFFFFF"
android:centerY="0.50"
android:endColor="#FFFF00"
android:startColor="#000000"
android:type="sweep"
android:useLevel="false" />
</shape>
</rotate>
参考:http://dev.10086.cn/cmdn/bbs/viewthread.php?tid=18469
http://tienfook.blog.163.com/blog/static/1666620112010528637217/
http://www.ihoton.com/androidandroid-progressbar-color.html
三种方式实现自定义圆形页面加载中效果的进度条:
来自:http://407827531.iteye.com/blog/1067025
默认情况下Indeterminate Progressbar是白色的,如果容器的背景也是白色的,这样就根本看不到Progressbar了。
幸好Android自带了一些反转样式,你可以采用其中一个合适的:
<ProgressBar style="@android:style/Widget.ProgressBar.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Large.Inverse"/>
<ProgressBar style="@android:style/Widget.ProgressBar.Small.Inverse"/>
进度条:
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<ProgressBar
android:id="@+id/circleProgressBar"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
mce_style="?android:attr/progressBarStyleLarge" />
一、通过动画实现
定义res/anim/loading.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false" >
<item
android:drawable="@drawable/loading_01"
android:duration="150"/>
<item
android:drawable="@drawable/loading_02"
android:duration="150"/>
<item
android:drawable="@drawable/loading_03"
android:duration="150"/>
<item
android:drawable="@drawable/loading_04"
android:duration="150"/>
<item
android:drawable="@drawable/loading_05"
android:duration="150"/>
<item
android:drawable="@drawable/loading_06"
android:duration="150"/>
<item
android:drawable="@drawable/loading_07"
android:duration="150"/>
</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: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/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:pivotX="50.0%"
android:pivotY="50.0%"
android:toDegrees="360.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" />
或者
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip" />
<gradient android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient android:startColor="#80ffd300"
android:centerColor="#80ffb600"
android:centerY="0.75"
android:endColor="#a0ffcb00"
android:angle="270"
/>
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient android:startColor="@color/progress_start"
android:endColor="@color/progress_end"
android:angle="270" />
</shape>
</clip>
</item>
</layer-list>
代码中设置:
mProgress = (ProgressBar) findViewById(R.id.progress_bar);
Drawable d = this.getResources().getDrawable(R.drawable.my_progress);
mProgress.setProgressDrawable(d);
分享到:
相关推荐
本文将详细介绍如何实现三种常用的方法来创建自定义的圆形进度条(ProgressBar)。这些方法包括使用Shape Drawable、自定义View以及使用第三方库。 一、Shape Drawable实现圆形进度条 Shape Drawable是Android系统...
本文实例讲述了Android ProgressBar圆形进度条颜色设置方法。分享给大家供大家参考,具体如下: 你是不是还在为设置进度条的颜色而烦恼呢……别着急,且看如下如何解决。 ProgressBar分圆形进度条和水平进度条 我...
这个自定义的进度条(progressbar)可以用于展示加载、缓冲或任何需要进度指示的场景。 首先,我们需要创建一个新的`ProgressBar`子类,例如`MyProgress`。在Java或Kotlin中,我们需要继承`ProgressBar`类,并重写...
在Android开发中,有时我们需要为用户展示一种直观的进度指示,圆形进度条就是一个常见的选择。本Demo,"android 圆形进度条demo",提供了一种实现方式,它基于源码,可以帮助开发者快速理解和集成此类控件。在这个...
下面将详细介绍Android圆形进度条的相关知识点。 1. **Android 进度条组件** Android系统提供了多种类型的进度条组件,包括`ProgressBar`和`SeekBar`。其中,`ProgressBar`通常用于显示不可交互的进度,而`SeekBar...
总结,这个压缩包提供的源码实例是关于Android圆形进度条的实现,可以帮助开发者深入理解自定义视图、图形绘制以及动画原理。通过学习和实践,可以提升Android UI开发能力,为自己的应用添加更个性化的界面元素。
本篇文章将深入探讨如何在Android中实现一个名为RoundProgress的圆形进度条,并通过两张图片的叠加来达到独特的视觉效果。这个圆形进度条不仅能够显示进度,还能通过巧妙的设计增加界面的美观度。 首先,我们需要...
以上就是创建一个简单Android圆形进度条的基本步骤。你还可以通过修改XML drawable中的属性,如环形的宽度、颜色、旋转速度等,来进一步定制你的圆形进度条。此外,如果需要动态更新进度,可以结合AsynTask或者其他...
在Android开发中,圆形进度条(Circular ProgressBar)是一种常见的UI元素,用于展示任务或操作的进度,它以圆形的方式呈现,既美观又直观。本文将深入探讨如何创建一个具有蓝色背景、动画效果以及自定义对话框...
例如,可以设置圆形进度条的颜色、线宽、文字的颜色和大小等属性。 六、小结 Android自定义带动画效果的圆形ProgressBar可以通过继承View类并重写onDraw方法来实现。可以使用Canvas对象来绘制圆形进度条,使用...
// 设置画笔颜色 canvas.drawColor(Color.TRANSPARENT); // 白色背景 paint.setStrokeWidth(progressStrokeWidth); // 线宽 paint.setStyle(Style.STROKE); oval.left = marxArcStorkeWidth / 2; // 左上角x ...
与常见的线性或圆形进度条不同,椭圆形进度条在视觉上呈现出椭圆形的轮廓,进度填充从中心开始,沿着椭圆的边缘逐渐展开。这种设计既美观又能够提供良好的用户体验,尤其是在展示数据加载、任务完成度等场景下。 ...
这里我们将使用`SweepGradient`,因为它更适合圆形进度条。 ```java @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 计算圆的半径 int radius = Math.min(getWidth(), getHeight...
在Android开发中,ProgressBar是一个非常重要的组件,它用于显示进度状态,可以是圆形或水平的。这个组件在用户等待操作完成时提供了良好的用户体验,比如在下载、上传、解压等耗时操作中常见。本篇文章将深入探讨...
Android SDK提供了`ProgressBar`类,通过设置`android:indeterminateDrawable`属性可以创建基本的圆形进度条。然而,为了自定义样式,我们可以使用`SeekBar`类,通过调整其属性如`android:progressDrawable`和`...
3. **圆形ProgressBar**:通过设置`style="@android:style/Widget.Holo.ProgressBar.Horizontal"`可以将线性进度条转换为圆形,常用于加载动画。也可以使用自定义视图实现更复杂的圆环效果。 4. **自定义...
这个"android ProgressBar进度条等待demo"是一个示例项目,旨在帮助开发者理解如何在应用程序中实现不同类型的进度条,包括横线进度条、圆形加载中效果以及自定义的ProgressBar。 1. **横线进度条**: 横线进度条...
"Android圆形进度条"就是一个典型的例子,它允许开发者创建具有个性化外观和行为的进度指示器。这个自定义控件通常用于显示任务的完成程度或者加载状态,比如下载、上传或者缓冲等。 1. **自定义控件基础知识**: ...
上述代码定义了一个旋转的环形形状,颜色为`holo_blue_bright`,并且设置了内径比例和厚度比例,以控制圆形进度条的外观。 接下来,我们需要创建一个Java类`CircleProgressView`,继承自`LinearLayout`或`...