ProgressDialog进度
来源:互联网 发布:wifi电话软件免费通话 编辑:程序博客网 时间:2024/05/20 00:48
[功能]
ProgressDialog 也是一种Dialog
一般 在出现ProgressDialog 后台都会再开辟Thread 来做一些耗时的工作我演示的是从100数到0 这段时间既不太长 不用浪费时间等待 同时 也能明显地看出效果
[代码]
1. ProgressDialog 使用
2. 开辟一个Thread来从100数到0 在数完后 关闭ProgressDialog
3. 运行该Thread
4.定义一个Handler 用于接受 关闭ProgressDialog 的通知
[所有代码]
http://dl.iteye.com/upload/picture/pic/52676/11cd6622-cb13-337a-bd52-007185e972c0.png
over!
ProgressDialog 也是一种Dialog
一般 在出现ProgressDialog
[代码]
1. ProgressDialog 使用
Java代码
- public
void startProgress(){ -
start Progress -
pd = ProgressDialog.show( "loop from ,100 to 0!" "is looping..." ,true, -
-
-
}
public void startProgress(){ //to start Progress pd = ProgressDialog.show(this, "loop from 100 to 0!", "is looping...", true, false); //pd.setIcon(R.drawable.icon); }
2. 开辟一个Thread来从100数到0 在数完后 关闭ProgressDialog
Java代码
- public
class TaskLoop implementsRunnable { -
-
void run() { -
TODO Auto-generated method stub -
loop( -
-
messageListener.sendEmptyMessage(TASK_LOOP_COMPLETE); -
} -
-
} -
- public
void loop( longi){ -
j = i; -
-
Log.d( -
-
j = j- -
} -
-
}
public class TaskLoop implements Runnable { @Override public void run() { // TODO Auto-generated method stub loop(5000); messageListener.sendEmptyMessage(TASK_LOOP_COMPLETE); } }public void loop(long i){ long j = i; while(j>0){ Log.d("tag",j+""); j = j-1; } }
3. 运行该Thread
Java代码
- Thread
loop new= Thread( newTaskLoop()); - loop.start();
Thread loop = new Thread(new TaskLoop());loop.start();
4.定义一个Handler 用于接受 关闭ProgressDialog 的通知
Java代码
- private
Handler newmessageListener = Handler(){ -
void handleMessage(Message msg) { -
-
TASK_LOOP_COMPLETE: -
pd.dismiss(); -
-
-
} -
} -
};
private Handler messageListener = new Handler(){ public void handleMessage(Message msg) { switch(msg.arg1){ case TASK_LOOP_COMPLETE: pd.dismiss(); break; } } };
[所有代码]
Java代码
- public
class MyProgressUsage extendsActivity { -
final static int TASK_LOOP_COMPLETE 0;= -
-
ProgressDialog pd; -
-
TextView tv; -
-
-
void onCreate(Bundle savedInstanceState) { -
-
setContentView(R.layout.main); -
-
findViewById(R.id.start).setOnClickListener( OnClickListener(){ -
void onClick(View v) { -
TODO Auto-generated method stub -
startLoop(); -
} -
}); -
} -
-
void startLoop(){ -
-
startProgress(); -
-
Thread loop = Thread( newTaskLoop()); -
loop.start(); -
} -
-
-
class TaskLoop implementsRunnable { -
-
void run() { -
TODO Auto-generated method stub -
loop( -
-
messageListener.sendEmptyMessage(TASK_LOOP_COMPLETE); -
} -
-
} -
-
void startProgress(){ -
start Progress -
pd = ProgressDialog.show( "loop from ,100 to 0!" "is looping..." ,true, -
-
-
} -
-
do some time-cost task -
void loop( longi){ -
j = i; -
-
Log.d( -
-
j = j- -
} -
-
} -
-
Handler newmessageListener = Handler(){ -
void handleMessage(Message msg) { -
-
TASK_LOOP_COMPLETE: -
pd.dismiss(); -
-
-
} -
} -
}; -
- }
public class MyProgressUsage extends Activity { public final static int TASK_LOOP_COMPLETE = 0; ProgressDialog pd; TextView tv; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViewById(R.id.start).setOnClickListener(new OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub startLoop(); } }); } public void startLoop(){ startProgress(); Thread loop = new Thread(new TaskLoop()); loop.start(); } public class TaskLoop implements Runnable { @Override public void run() { // TODO Auto-generated method stub loop(5000); messageListener.sendEmptyMessage(TASK_LOOP_COMPLETE); } } public void startProgress(){ //to start Progress pd = ProgressDialog.show(this, "loop from 100 to 0!", "is looping...", true, false); //pd.setIcon(R.drawable.icon); } //to do some time-cost task public void loop(long i){ long j = i; while(j>0){ Log.d("tag",j+""); j = j-1; } } private Handler messageListener = new Handler(){ public void handleMessage(Message msg) { switch(msg.arg1){ case TASK_LOOP_COMPLETE: pd.dismiss(); break; } } }; }
http://dl.iteye.com/upload/picture/pic/52676/11cd6622-cb13-337a-bd52-007185e972c0.png
over!
- ProgressDialog进度
- Android进度对话框(ProgressDialog)
- ProgressDialog进度对话框初识
- 进度对话框(ProgressDialog)
- ProgressDialog进度对话框使用方法
- android实践--进度对话框(ProgressDialog)
- 使用ProgressDialog创建进度对话框
- ProgressDialog进度对话框的用法
- 1.5 显示进度对话框---ProgressDialog
- 使用ProgressDialog创建进度对话框
- 自定义ProgressDialog下载进度框
- Android ProgressDialog显示线程处理进度
- Android对话框之ProgressDialog(进度对话框)
- 如何隐藏ProgressDialog后面的最大值进度
- Android中使用ProgressDialog创建进度对话框
- 安卓对话框之-----进度对话框(ProgressDialog)
- 使用ProgressDialog创建进度对话框-showDialog方式
- 安卓-进度处理对话框(ProgressDialog)
- android中Menu的实现方法
- 在ContextMenu中添加/删除ListView…
- android string.xml %问题
- Android中全屏或者取消标题栏(转)
- 常用色彩空间介绍
- ProgressDialog进度
- Android用Handle调用线程与用Threa…
- Android的消息机制,用Android线程…
- android 自定义对话框
- 往SystemUI添加进度条
- Java解析XML文件
- JAVA计算文件的MD5值
- DownloadManager下载管理
- BroadCastReceiver 静态动态注册