`

ProgressBar进度条

 
阅读更多

一、三种类型的进度条

progress_bar.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="@string/hello" />

	<ProgressBar
		android:id="@+id/ProgressBar01"
		style="?android:attr/progressBarStyleHorizontal"
		android:layout_width="200dp"
		android:layout_height="wrap_content"
		android:visibility="gone" />

	<ProgressBar
		android:id="@+id/ProgressBar02"
		style="?android:attr/progressBarStyleLarge"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:max="100"
		android:progress="50"
		android:secondaryProgress="70"
		android:visibility="gone" />

	<Button
		android:id="@+id/Button01"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="开始" />

</LinearLayout> 
 
//声明ProgressBar对象
	private ProgressBar xh_ProgressBar;
	private ProgressBar xh_ProgressBar2;
	private Button xh_Button;
	protected static final int GUI_STOP_NOTIFIER = 0x108;
	protected static final int GUI_THREADING_NOTIFIER = 0x109;
	public int intCounter = 0;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//设置窗口模式,因为需要显示进度条在标题栏
		requestWindowFeature(Window.FEATURE_PROGRESS);
		setProgressBarVisibility(true);
		setContentView(R.layout.progress_bar);

		//得到ProgressBar
		xh_ProgressBar = (ProgressBar) findViewById(R.id.ProgressBar01);
		xh_ProgressBar2 = (ProgressBar) findViewById(R.id.ProgressBar02);
		xh_Button = (Button) findViewById(R.id.Button01);

		//设置进度条 不为 不确定模式
		xh_ProgressBar.setIndeterminate(false);
		xh_ProgressBar2.setIndeterminate(false);

		//当按钮按下时开始执行
		xh_Button.setOnClickListener(new Button.OnClickListener() {
			public void onClick(View v) {
				//设置ProgressBar为可见状态
				xh_ProgressBar.setVisibility(View.VISIBLE);
				xh_ProgressBar2.setVisibility(View.VISIBLE);
				//设置ProgressBar的最大值
				xh_ProgressBar.setMax(100);
				//设置ProgressBar当前值
				xh_ProgressBar.setProgress(0);
				xh_ProgressBar2.setProgress(0);

				//通过线程来改变ProgressBar的值
				new Thread(new Runnable() {
					public void run() {
						for (int i = 0; i < 10; i++) {
							try {
								//设置进度值
								intCounter = (i + 1) * 20;
								//睡眠1000毫秒
								Thread.sleep(1000);

								if (i == 4) {
									Message m = new Message();

									m.what = ProgressBarNew.GUI_STOP_NOTIFIER;
									ProgressBarNew.this.myMessageHandler
											.sendMessage(m);
									break;
								} else {
									Message m = new Message();
									m.what = ProgressBarNew.GUI_THREADING_NOTIFIER;
									ProgressBarNew.this.myMessageHandler
											.sendMessage(m);
								}

							} catch (Exception e) {
								e.printStackTrace();
							}
						}
					}

				}).start();
			}

		});
	}

	Handler myMessageHandler = new Handler() {
		@Override
		public void handleMessage(Message msg) {
			switch (msg.what) {
			//ProgressBar已经是最大值
			case ProgressBarNew.GUI_STOP_NOTIFIER:
				xh_ProgressBar.setVisibility(View.GONE);
				xh_ProgressBar2.setVisibility(View.GONE);
				Thread.currentThread().interrupted();
				break;
			case ProgressBarNew.GUI_THREADING_NOTIFIER:
				if (!Thread.currentThread().isInterrupted()) {
					//改变ProgressBar的当前值
					xh_ProgressBar.setProgress(intCounter);
					xh_ProgressBar2.setProgress(intCounter);

					//设置标题栏中前景的一个进度条进度值
					setProgress(intCounter * 100);
				}
				break;
			}
			super.handleMessage(msg);
		}
	};
 


资料来源:http://byandby.iteye.com/blog/816494

  • 大小: 18.6 KB
分享到:
评论

相关推荐

    C# progressBar进度条绘制文字显示百分比

    在C#编程中,`progressBar`控件是Windows Forms应用程序中常见的元素,用于向...以上就是关于“C# progressBar进度条绘制文字显示百分比”的详细解释,通过这些步骤,你可以创建一个更直观、用户体验更好的进度条控件。

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

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

    android ProgressBar进度条等待demo

    这个"android ProgressBar进度条等待demo"是一个示例项目,旨在帮助开发者理解如何在应用程序中实现不同类型的进度条,包括横线进度条、圆形加载中效果以及自定义的ProgressBar。 1. **横线进度条**: 横线进度条...

    c# progressBar进度条项目

    这个项目"**c# progressBar进度条项目**"显然关注的是如何在Windows Forms(WinForm)应用程序中有效地使用`ProgressBar`来提升用户体验,特别是在执行长时间运行的操作时。通过多线程技术,可以实现主程序执行任务...

    Android应用源码之(ProgressBar进度条).zip项目安卓应用源码下载

    Android应用源码之(ProgressBar进度条).zip项目安卓应用源码下载Android应用源码之(ProgressBar进度条).zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考

    安卓Android源码——(ProgressBar进度条).rar

    这个压缩包文件"安卓Android源码——(ProgressBar进度条).rar"很可能包含了一些关于如何自定义和使用ProgressBar的示例代码和解释。下面将详细探讨Android中的ProgressBar及其相关知识点。 1. **ProgressBar的基本...

    android mars视频代码 ProgressBar 进度条

    www.mars-droid.com/Android开发视频教程ProgressBar 进度条 代码 源码 mars老师讲课 android 视频源码 (在此特别感谢mars的无私奉献,此代码为跟随视频边学边做的)

    6,TFTLCD触摸屏实验--ProgressBar进度条显示.rar

    在提供的压缩包中,"6,TFTLCD触摸屏实验--ProgressBar进度条显示"可能包含了示例代码、设计文档或者相关的硬件连接图,这些资源可以帮助开发者理解如何在实际项目中实现这一功能。通过研究这些资料,开发者可以学习...

    Android ProgressBar进度条Demo源码.rar

    这个"Android ProgressBar进度条Demo源码.rar"压缩包提供的就是一个关于如何在Android应用中使用ProgressBar的示例代码。下面我们将深入探讨ProgressBar的基本概念、类型以及如何在实际开发中应用。 1. **...

    TFTLCD触摸屏实验--ProgressBar进度条显示.zip

    本实验“TFTLCD触摸屏实验--ProgressBar进度条显示”聚焦于如何在51单片机上利用TFT液晶显示屏实现进度条的动态显示,这对于创建用户友好、互动性强的嵌入式设备界面至关重要。 TFT(Thin Film Transistor)液晶...

    ProgressBar进度条效果.zip

    这是一款不错的ProgressBar进度条效果,可以实现在一些操作的进度中的可视指示器,为用户呈现操作的进度,同时也有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度...

    3-7(ProgressBar进度条).7z

    这个“3-7(ProgressBar进度条).7z”压缩包可能包含了一些关于如何使用和自定义ProgressBar的示例代码、资源文件以及相关文档。在这个主题中,我们将深入探讨ProgressBar的基本用法、类型以及如何通过编程实现进度...

    Android应用源码之(ProgressBar进度条).zip

    本资料包“Android应用源码之(ProgressBar进度条).zip”显然提供了一些关于如何在Android应用中使用ProgressBar的源码示例。以下是关于ProgressBar在Android开发中的详细知识: 1. **ProgressBar类型**: - **...

    安卓Android源码——(ProgressBar进度条).zip

    这个压缩包“安卓Android源码——(ProgressBar进度条).zip”很可能包含了关于如何自定义和使用ProgressBar的源代码示例。下面我们将详细探讨ProgressBar的相关知识点。 1. **ProgressBar的基本用法** ProgressBar...

    应用源码之(ProgressBar进度条).zip

    本资源"应用源码之(ProgressBar进度条).zip"提供了关于ProgressBar的源码分析,帮助开发者深入理解其工作原理和自定义方法。以下是关于ProgressBar及其相关知识点的详细说明: 1. **ProgressBar的基本使用**: ...

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

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

    基于C51单片机GUI设计TFTLCD触摸显示屏-ProgressBar进度条显示实验例程源码

    在本实验项目中,我们将深入探讨如何在C51单片机上实现基于GUI的TFT LCD触摸显示屏,特别是关注ProgressBar进度条显示的功能。这个实验例程提供了完整的源码,帮助开发者了解并实践这一技术。 首先,让我们了解一下...

    Android应用源码之(ProgressBar进度条)-IT计算机-毕业设计.zip

    这个“Android应用源码之(ProgressBar进度条)”的项目提供了关于如何在Android应用程序中使用ProgressBar的源码示例,对于正在进行毕业设计或者想要深入理解Android移动开发的学生来说,是一份非常有价值的参考资料...

    使用ProgressBar实现进度条,设置进度条显示风格。以及自定义进度条样式

    本篇文章将深入探讨如何使用ProgressBar来创建进度条,设置不同的显示风格,并教你如何自定义进度条样式。 首先,ProgressBar分为两种类型:indeterminate(不确定进度)和determinate(确定进度)。indeterminate...

Global site tag (gtag.js) - Google Analytics