阅读更多 布局文件:
                



主程序入口:

package com.example.progressbar;import java.util.Timer;import java.util.TimerTask;import org.xml.sax.HandlerBase;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.TextView;public class MainActivity extends Activity {private TextView tx;private int count = 0;// 自定义 Handler信息代码,用以作为识别事件处理protected static final int Start_NOTIFIER=0x101;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tx = (TextView) findViewById(R.id.title);uppUI();}/** * 实现 6 秒钟更新 UI 界面 TX 的显示 */public void uppUI() {Timer timer = new Timer(); // 创建爱你Timer 时钟对象timer.scheduleAtFixedRate(new MyShedule(), 1, 1000); //每隔 6 秒中执行 MyShedule}/** * 实现更新的动作 * @author Administrator * */private class MyShedule extends TimerTask {public void run() {Message message = new Message();  //创建message对象message.what = MainActivity.Start_NOTIFIER;//用于自定义消息代码,以便收件人收到信息handler.sendMessage(message); //向Handler发送消息}}//创建Handler 对象,通过实现handleMessage方法,接收信息Handler handler = new Handler(){//注意:子类必须实现这个方法才能接收信息public void handleMessage(Message msg) {switch (msg.what) { //判断消息代码值case MainActivity.Start_NOTIFIER:tx.setText(new Integer(count).toString());count++;break;}}};}



和 Handler的用法:



package com.example.progressbar;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.Button;import android.widget.ProgressBar;import android.widget.TextView;public class ProgressBarAndHandler extends Activity {private TextView tx;private ProgressBar progressbar;private Button download;private int count = 0;// 自定义 Handler信息代码,用以作为识别事件处理protected static final int STOP_Flag = 0x100;protected static final int THREADING_Flag = 0x101;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 获取各种对象tx = (TextView) findViewById(R.id.title);progressbar = (ProgressBar) findViewById(R.id.progressbar);download = (Button) findViewById(R.id.download);// 设置按钮单机事件download.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {actionForDownload();}});}/** * 按钮点击动作 */public void actionForDownload() {tx.setText(R.string.start); // 设置按钮上显示值progressbar.setVisibility(View.VISIBLE); // 设置progressbar 为可见状态progressbar.setMax(100); // 设置最大值为:100progressbar.setProgress(0); // 设置当前值为0progressbar.setIndeterminate(false); // 设置进度条为明确显示new Thread() {public void run() {while (count <= 100) {// 小于 100 的时候修改当前进度值try {count = count + 1;Thread.sleep(100); // 休眠 0.1秒// 如果值累加到了 100 则,向Handler发送 STOP_Flag 消息if (count == 100) {Message message = new Message();message.what = ProgressBarAndHandler.STOP_Flag;// 向Handler发送信息代码ProgressBarAndHandler.this.handler.sendMessage(message);break;} else { // 不等于 100 发送THREADING_Flag 消息Message m = new Message();m.what = ProgressBarAndHandler.THREADING_Flag;ProgressBarAndHandler.this.handler.sendMessage(m);}} catch (Exception ex) {ex.printStackTrace();}}}}.start();}// 根据消息进行对应的处理Handler handler = new Handler() {public void handleMessage(Message msg) {switch (msg.what) {case ProgressBarAndHandler.STOP_Flag: // 表示下载完毕tx.setText("下载完毕");download.setText("下载完毕");progressbar.setVisibility(View.GONE); //设置进度条不可见Thread.currentThread().interrupt(); //中断当前线程break;case ProgressBarAndHandler.THREADING_Flag: // 表示正在下载中progressbar.setProgress(count); //修改当前进度的值tx.setText(getResources().getText(R.string.start)+Integer.toString(count)+"%)\n"+"Progress:"+Integer.toString(progressbar.getProgress()));break;}super.handleMessage(msg);}};}
  • progressBar.rar (900.8 KB)
  • 下载次数: 3

更多相关文章

  1. android沉浸式状态栏和虚拟按键
  2. Android里面WebView加载HTML里面点击按钮调我Android方法
  3. android之ArrayAdaper之Spinner
  4. Android实用代码片段(二)
  5. 2013.12.03(8) ——— android ActionbarSherlockSample之TabNavig
  6. android 自定义水平的ProgressBar
  7. android通知栏Notification用法
  8. Android(安卓)代码获取手机屏幕分辨率的代码
  9. Android(安卓)同个TextView设置字体大小不一样

随机推荐

  1. android 自定义闪退Dialog 收集闪退信息
  2. How to Create QuickAction Dialog in An
  3. android 软件源码
  4. Android照相功能驱动层中HAL的实现(基于OK
  5. android中使用HTTP协议和TCP协议实现上传
  6. Android(安卓)使用动画效果后的控件位置
  7. android IOS webview word document
  8. android 自定义 view
  9. unity向android通信
  10. Android greenDAO 3.2.2简单使用