`

使用handler处理progressbar

 
阅读更多

1.设置布局文件

<?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" 
    > 
<ProgressBar 
android:id="@+id/ProgressBar" 
style="?android:attr/progressBarStyleHorizontal" 
android:layout_width="200dp" 
android:layout_height="wrap_content" 
android:visibility="gone" 
/> 
<Button 
android:id="@+id/Button" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="开始"/> 
</LinearLayout> 

 

2.处理progressbar的类

public class ProgressBarTestActivity extends Activity {
	/** Called when the activity is first created. */

	private ProgressBar bar;
	private Button startButton;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		// 得到ProgressBar
		bar = (ProgressBar) findViewById(R.id.ProgressBar);
		startButton = (Button) findViewById(R.id.Button);

		// 当按钮按下时开始执行
		startButton.setOnClickListener(new ButtonListener());
	}

	class ButtonListener implements OnClickListener {
		public void onClick(View v) {
			bar.setVisibility(View.VISIBLE);
			updateBarHandler.post(updateThread);
		}
	}

	Handler updateBarHandler = new Handler() {
		@Override
		public void handleMessage(Message msg) {

			bar.setProgress(msg.arg1);
			updateBarHandler.post(updateThread);
		}
	};

	Runnable updateThread = new Runnable() {
		int i = 0;

		public void run() {
			System.out.println("begin thread");
			i = i + 10;
			// 得到一个消息对象
			Message msg = updateBarHandler.obtainMessage();
			msg.arg1 = i;
			try {
				Thread.sleep(1000);
			} catch (Exception e) {
				e.printStackTrace();
			}
			updateBarHandler.sendMessage(msg);
			if (i == 100) {
				updateBarHandler.removeCallbacks(updateThread);
			}
		}
	};

}

 效果如图:



 

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

相关推荐

    android Handler和ProgressBar的用法举例

    一个简单的小例子,用来学习android Handler和ProgressBar的用法

    android mars视频代码 Handler 源码 ProgressBarHandler

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

    Handler的使用

    使用handler传递ProgressBar的进度,使进度条每一秒更新一次

    Progressbar进度条的使用

    使用了handler消息机制,显示进度条中进度和数值的变化。

    AndroidTest_ProgressBar_DialogProgress_AlertDialog

    3) Service使用ProgressBar,使用Handler调用主线程的资源 2、主线程使用ProgressDialog进行显示 3、启动Service,然后创建AlertDialog.build创建,确认后跳转到Activity,再动态生成ProgressBar 备注: Service...

    Android:Handler学习实例1

    Android中Handler的学习实例,在本示例中,在主线程外开启子线程(使用匿名内部类Runnable),使用Handler中的Message传递消息(高效),操作一个ProgressBar的进度。适合初学者学习和了解Handler以及ProgressBar的...

    ProgressBarHandler.zip_android开发_Java_

    Android使用Handler控制Progressbar的一个简单例程,适合初学者

    Progressbar

    ASP.NET实现进度条上传文件源码 源码说明 ...ProgressHandler目录下三个文件为Abort.ashx、GenericGuid.ashx,Handler.ashx功能分别为:根据Guid取消正在上传的文件,生成Guid,根据Guid获取上传信息。

    Android-扩展BaseAdapter实现progressBar下载

    * 该Demo涉及了BaseAdapter,ProgressBar,Handler,Thread,线程池; * * Android-扩展BaseAdapter实现progressBar下载 * 1.创建listview的xml * 2.创建listview中填充的xml * 3.创建继承BaseAdapter的...

    ProgressBar显示进度信息源码

    在进行UI界面设计时,我们常用到进度条来设计加载进度、下载进度等,本节就使用Android中ProgressBar来进行进度设计,本节的进度设计简单使用了Handler-Looper机制,读者不必纠结于这个,Handler-Looper机制我们在...

    EjemploHandlers:本例使用Handler类实现了一个ProgressDialog和一个ProgressBar,ProgressDialog中使用了View.post()方法,ProgressBar中使用了handleMessage()方法和sendMessage()方法,结果是一样的。它们是两种不同的实现

    示例处理程序此示例使用 Handler 类实现 ProgressDialog 和 ProgressBar。 ProgressDialog 使用 View.post() 方法。 在 ProgressBar 中使用了 handleMessage() 方法和 sendMessage() 方法。 结果是相同的,但它们是...

    Android ProgressBar进度条使用详解

    ProgressBar进度条,分为旋转进度条和水平进度条,进度条的样式根据需要自定义,之前一直不明白进度条如何在实际项目中使用,网上演示进度条的案例大多都是通过Button点击增加、减少进度值,使用方法...

    Android控件之ProgressBar用法实例分析

    ProgressBar类的使用非常简单,只需将其显示到前台,然后启动一个后台线程定时更改表示进度的数值即可。 以下ProgressBar跟Handle结合,模拟进度条的使用,当进度条完成时会跳转到TestActivity main.xml布局文件 &...

    Android中ProgressBar用法简单实例

    在android中会经常用到ProgressBar,下面通过举例来说明如何使用ProgressBar。 import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android....

    Android ProgressDialog进度条使用详解

    在程序需要时间执行任务的时候,提示进度条友好的告诉用户说,当前任务还没有完成,请稍稍等待,进度条经常使用在APP下载应用、更新应用、加载网络数据中,使用频繁,常见的进度条有ProgressDialog、ProgressBar,...

    Android ProgressBar直线进度条的实例代码

    import android.os.Handler; import android.os.Message; import android.os.StrictMode; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android....

    用progress下载应用百分比

    下载apk应用,用handler显示ui界面,界面用progressbar显示百分比

    android中实现OkHttp下载文件并带进度条

    本篇文章主要介绍了android中实现OkHttp下载文件并带进度条,OkHttp是比较火的网络框架,它支持同步与异步请求,支持缓存,可以拦截,更方便下载大文件与上传文件的操作,有兴趣的可以了解一下

    老罗android视频开发源码和ppt经典

    6.20 ProgressBar进度条的使用 6.21 RatingBar评分控件的使用 6.22 ScrollView垂直滚动控件的使用 6.23 HorizontalScrollView水平滚动 6.24 Gallery画廊控件 6.25 Spinner下拉列表控件 6.26 ImageSwitcher图片切换...

    android图片处理大师

    优化了UI,综合运用了seletor,handler,thread,adapter,progressbar,sharedpreference,文件读写,坐标换算,onTouch事件监听处理,重写view实现灰色蒙板等效果(没有做多点触屏因为太麻烦了)等,对新人系统运用安卓...

Global site tag (gtag.js) - Google Analytics