`

android Progressbar使用

 
阅读更多
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">  
     
     <TextView 
         android:layout_width="fill_parent"  
         android:layout_height="wrap_content" 
         android:text="Welcome to Mr Wei's blog" />  
     <ProgressBar 
         android:id="@+id/rectangleProgressBar"  
         style="?android:attr/progressBarStyleHorizontal" mce_style="?android:attr/progressBarStyleHorizontal"   
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content"
         android:visibility="gone"
         />
     <ProgressBar 
         android:id="@+id/circleProgressBar"  
         style="?android:attr/progressBarStyleLarge" mce_style="?android:attr/progressBarStyleLarge"
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"
         android:visibility="gone" 
         />
      
     <Button android:id="@+id/button" 
             android:text="Show ProgressBar"  
             android:layout_width="wrap_content" 
             android:layout_height="wrap_content"
             />
 </LinearLayout> 



public class ProgressBarDemo extends Activity {

	private ProgressBar rectangleProgressBar, circleProgressBar;
	private Button mButton;

	protected static final int STOP = 0x10000;
	protected static final int NEXT = 0x10001;
	private int iCount = 0;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.progress_bar_demo);
		// findView By id
		rectangleProgressBar = (ProgressBar) findViewById(R.id.rectangleProgressBar);
		circleProgressBar = (ProgressBar) findViewById(R.id.circleProgressBar);
		mButton = (Button) findViewById(R.id.button);

		rectangleProgressBar.setIndeterminate(false);
		circleProgressBar.setIndeterminate(true);

		mButton.setOnClickListener(new Button.OnClickListener() {

			public void onClick(View v) {

				rectangleProgressBar.setVisibility(View.VISIBLE);
				circleProgressBar.setVisibility(View.VISIBLE);

				rectangleProgressBar.setMax(100);
				rectangleProgressBar.setProgress(0);
				circleProgressBar.setProgress(0);

				new IncreaseThread().start();
			}
		});
	}

	// 定义一个Handler
	private Handler mHandler = new Handler() {
		public void handleMessage(Message msg) {
			switch (msg.what) {
			case STOP:
				rectangleProgressBar.setVisibility(View.GONE);
				circleProgressBar.setVisibility(View.GONE);
				Thread.currentThread().interrupt();
				break;
			case NEXT:
				if (!Thread.currentThread().isInterrupted()) {
					rectangleProgressBar.setProgress(iCount);
					circleProgressBar.setProgress(iCount);
				}
				break;
			}
		}
	};

	// 每秒步长为5增加,到100%时停止
	class IncreaseThread extends Thread {

		@Override
		public void run() {
			for (int i = 0; i < 20; i++) {
				try {
					iCount = (i + 1) * 5;
					Thread.sleep(1000);
					if (i == 19) {
						Message msg = new Message();
						msg.what = STOP;
						mHandler.sendMessage(msg);
						break;
					} else {
						Message msg = new Message();
						msg.what = NEXT;
						mHandler.sendMessage(msg);
					}
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}

	}
}
分享到:
评论

相关推荐

    android progressbar使用系列集合

    在Android开发中,ProgressBar是一个非常常见的组件,用于展示任务的进度或者表示正在执行的操作。本篇文章将深入探讨如何自定义ProgressBar以满足特定的设计需求,尤其是根据系统的风格进行定制,包括改变默认背景...

    AndroidProgressBar_Android ProgressBar进度条的几乎全部的用法源码集.rar

    本资源"AndroidProgressBar_Android ProgressBar进度条的几乎全部的用法源码集.rar"提供了关于Android ProgressBar的多种实现方式和应用场景的源代码,非常适合开发者学习和参考。 首先,我们来详细探讨一下Android...

    Android 之 ProgressBar用法介绍

    ProgressBar是Android系统中的一种UI组件,它用于显示进度或加载状态。这个组件在各种场景下都非常常见,如数据加载、文件上传下载等。本篇文章将深入探讨ProgressBar的使用方法,包括其基本用法、样式定制以及...

    android ProgressBar 全部的用法

    Loader框架提供了一种处理后台数据加载的方式,可以在LoaderManager中配合ProgressBar使用,自动管理进度条的显示和隐藏。 总结,Android ProgressBar提供了丰富的功能,能满足各种进度展示需求。无论是简单的进度...

    Android应用源码之ProgressBar 几乎全部的用法

    综上所述,ProgressBar是Android应用中不可或缺的一部分,开发者可以通过各种方式定制和使用它,以满足不同场景的需求。通过深入学习和理解ProgressBar的源码,我们可以更好地控制和优化其在应用中的表现。提供的...

    Android progressBar的简单使用例子

    本教程将深入讲解如何在Android项目中简单使用ProgressBar。 首先,我们需要在布局XML文件中添加ProgressBar。在`res/layout`目录下的某个布局文件(例如activity_main.xml)中,我们可以插入一个水平的确定性...

    类似iOS菊花效果的android progressbar

    总结起来,实现类似iOS菊花效果的Android ProgressBar,需要自定义View,绘制圆形路径,设置动画,并在布局中使用。通过精心设计和优化,我们可以创建出既美观又高效的加载动画,提高用户的使用体验。在实际开发中,...

    Android 自定义各式各样的圆形ProgressBar

    在Android开发中,ProgressBar是用户界面(UI)设计中一个重要的元素,用于向用户展示某个操作的进度或者等待状态。通常,系统提供的ProgressBar样式有限,但开发者可以通过自定义来实现更多样化的效果,以满足不同...

    android progressbar 垂直布局

    在Android开发中,ProgressBar是用于显示进度或加载状态的一个组件,通常我们看到的都是水平方向的条形或圆形进度条。然而,有时候根据界面设计的需求,我们可能需要将ProgressBar设置为垂直布局,这就是"android ...

    android ProgressBar进度条等待demo

    在Android开发中,ProgressBar是一个非常重要...通过学习和理解这个"android ProgressBar进度条等待demo",开发者不仅可以掌握基础的进度条使用,还能进一步探索自定义进度条的无限可能性,提升应用的交互性和美观性。

    android Progressbar

    在本案例中,"android progressBar test"很可能是一个示例项目,用于展示如何在Android应用中使用和测试Progressbar的各种功能。 Progressbar在Android中有两种主要类型:LinearProgressBar和CircularProgressBar...

    Android下ProgressBar和旗下两个子控件的使用

    本篇文章将深入探讨Android中的ProgressBar及其两个主要子类SeekBar和RatingBar的使用方法。 首先,我们来了解ProgressBar的基本用法。ProgressBar分为两种模式:indeterminate(不确定)和determinate(确定)。在...

    Android中使用ProgressBar实现进度条

    本篇文章将深入探讨如何在Android中使用ProgressBar以及自定义其样式。 首先,ProgressBar的基本用法是在XML布局文件中声明它。以下是一个简单的例子: ```xml &lt;ProgressBar android:id="@+id/progressBar" ...

    Android进阶篇之RoundProgress(圆形进度条)使用两张图片叠加实现

    在Android中,我们可以使用自定义View来实现这样的组件。自定义View需要我们重写onDraw()方法,以便绘制我们想要的图形。 接下来,我们将使用两张图片进行叠加来创建这个圆形进度条。一张图片作为背景,另一张图片...

    带动画的横向ProgressBar

    总结来说,“带动画的横向ProgressBar”是一种增强用户体验的UI设计,通过自定义ProgressBar和使用Android的动画框架,我们可以创建出各种独特的视觉效果。无论是从布局设计、代码实现还是性能优化的角度,理解和...

    Android ProgressBar 简单进度条的实现及示例下载.rar

    此为Android ProgressBar 简单进度条的实现及示例下载源码,基本思路是:将模拟任务分成大小为100个的数组,任务完成度--默认为0,状态完成度默认也为0,然后构造一个线程用于显示消息,然后定义dowork()函数,完成...

    android自定义progressBar颜色,圆角

    android:attr/progressBarStyleHorizontal"`表示我们使用的是水平进度条样式,`android:progressDrawable`属性指定了我们之前创建的自定义进度条XML资源。 然后,在Java或Kotlin代码中,我们可以像操作普通Progress...

    Android 控件 ProgressBar进度条源码

    例如,在XML布局文件中,你可以使用`&lt;ProgressBar&gt;`标签并设定相关属性,如`android:progress`(determinate模式下的进度值),`android:max`(最大值),以及`android:indeterminateDuration`(不确定模式的动画...

    android 实现progressbar的简单自定义动画

    在Android开发中,ProgressBar是用户界面中非常常见的一种组件,用于显示进度或加载状态。有时候,为了提升用户体验和界面美观性,我们可能需要对默认的ProgressBar进行自定义,特别是添加动画效果。本教程将深入...

Global site tag (gtag.js) - Google Analytics