ProgressDialog 是Android中很常用的处理后台线程显示前台界面的工具
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class TestProgressDialog extends Activity {
private ProgressDialog dialog;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dialog = new ProgressDialog(this);
dialog.setMessage("运行中...");
dialog.setIndeterminate(false);
dialog.setCancelable(true);
Button bt1=(Button)findViewById(R.id.button1);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog.show();
Thread thread = new Thread(new ThreadDemo());//开始线程,程序后台,前台是dialog
thread.start();
}
});
}
final Handler handle = new Handler()
{
@Override
public void handleMessage(Message msg)
{
if(dialog!=null)
{
dialog.dismiss();
}
if( msg.what>0 )
{
Toast.makeText(TestProgressDialog.this, "线程成功结束", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(TestProgressDialog.this, "线程出现意外", Toast.LENGTH_SHORT).show();
}
}
};
Handler endSessionHandle = new Handler()
{
@Override
public void handleMessage(Message msg)
{
finish();
}
};
class ThreadDemo implements Runnable
{
public void run()
{
int what = -1;
try
{
for (int i=0;i<10;i++)
{
Thread.sleep(1000);//10秒的dialog显示
if (i==9)
{what=1;//走完之后信号置1
}
}
}
catch (Exception e)
{
e.printStackTrace();
Log.e("WeiboPub", e.getMessage());
}
handle.sendEmptyMessage(what);
}
}
}
分享到:
相关推荐
系统提供了几种内置的Dialog样式,如Alert Dialog、Progress Dialog和Date/Time Picker Dialog等。然而,这些默认样式可能无法满足所有设计需求,因此自定义Dialog样式变得尤为重要。 `android-styled-dialogs`库...
通过研究"rx-progress-dialog-sample"项目,开发者可以深入了解如何在Android应用中有效地结合使用RxJava和ProgressDialog,提升用户体验,同时遵循最佳的编程实践。对于那些想要提升Android异步编程技能的人来说,...
默认情况下,Android提供了几种预定义的Dialog样式,包括Alert Dialog、Progress Dialog和DatePicker/TimePicker Dialog等。Alert Dialog通常用于显示简单的信息或请求用户确认,而Progress Dialog则用于表示后台...
在Android开发中,自定义组件是一项常见的需求,特别是在创建用户界面时,为了提供更好的用户体验,开发者经常需要定制一些特殊的对话框(Dialog)。本教程将详细讲解如何实现一个自定义的加载对话框(Loading ...
在Android开发中,ProgressDialog是一个非常常见的组件,它用于在应用程序执行耗时操作(如网络请求、数据加载等)时向用户展示进度,提供一个等待反馈的界面,避免用户感到应用卡顿或无响应。ProgressDialog通常...
在Android开发中,Dialog是一个非常重要的组件,它用于在用户界面中显示临时的、轻量级的窗口,通常用于向用户展示信息或者请求用户的输入。本篇内容将深入探讨Android中的Dialog及其各种类型,帮助开发者更好地理解...
- 对于长时间运行的操作,考虑使用Progress Bar而不是ProgressDialog,因为后者在Android O及以上版本已废弃。 - 在适当的时候使用Dialog,例如,当用户需要确认一个操作或获取更多信息时。 7. **使用资源文件** ...
在Android开发中,有时我们需要创建个性化的用户交互体验,例如在一个自定义的Dialog中播放视频。这个场景下,我们可以利用SurfaceView来实现视频播放,并且赋予它一些基本的控制功能,比如播放、暂停、显示进度条...
setContentView(R.layout.dialog_progress); // 加载GIF资源 ImageView gifView = findViewById(R.id.gif_view); Glide.with(context) .asGif() .load(R.raw.your_gif_resource) // 替换为你的GIF资源 .into...
在Android开发中,Dialog是应用中非常常见的一种组件,它用于在用户界面的主窗口之上显示一个临时的视图,通常用于提供警告、确认信息或者简单的用户交互。本压缩包"安卓开发-DialogShow.zip"可能包含了一系列关于...
10. **Progress Dialog**: 对于需要用户等待的场景,可以使用`ProgressDialog`,它是一个模态对话框,内含一个进度条,不过在新版本的Android中已被弃用,推荐使用`AlertDialog`配合自定义视图实现类似功能。 ...
在Android开发中,Dialog是一种常见的用户界面元素,用于在主应用程序界面之上显示临时信息或进行交互操作。"自定义Dialog 正在加载中...."这个标题暗示我们将讨论如何创建一个自定义的Dialog,特别是在Android应用...
在Android开发中,Dialog是一种非常常见的用户界面组件,它用于在主界面之上显示临时的通知或交互窗口。ProgressDialog是Dialog的一种特殊形式,它显示一个进度条,通常用于指示后台任务的执行进度,比如文件下载、...
在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的UI风格和功能需求创建独特的对话框。本文将详细讲解如何通过继承AlertDialog来实现一个具有“加载中...”动态效果的自定义Dialog。 首先,...
在Android开发中,对话框(Dialog)是一种非常重要的组件,用于与用户进行交互,提供临时信息、确认操作或展示选项。本篇文章将深入探讨Android Dialog的综合应用,包括各种类型的对话框及其用法。 首先,Android中...
android:id="@+id/progress_bar" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> android:id="@+id/image_view" android:...
首先,Dialog通常分为几种类型:Alert Dialog、Progress Dialog、DatePicker Dialog、TimePicker Dialog等。每种Dialog都有其特定的用途,比如AlertDialog用于展示警告信息或提供选择项,ProgressDialog则用于显示...
public void onProgressChanged(ProgressDialog dialog, int progress, boolean fromUser) { // 在这里处理进度变化 } }); ``` 五、自定义ProgressDialog 尽管ProgressDialog提供了基本的样式,但有时我们可能...
Android系统提供了多种内置的Dialog样式,如Alert Dialog、Progress Dialog等,它们可以直接通过`AlertDialog.Builder`或`ProgressDialog`类创建。然而,这些默认样式可能无法满足所有设计需求,因此需要自定义。 ...