`
gryphone
  • 浏览: 433702 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

ProgressDialog 独立组件

阅读更多

ProgressDialog

 

[功能]

鉴于很多人对ProgressDialog 的使用不是太熟悉 导致在此浪费了太多时间 而不喜欢使用 更加剧了这个问题

 

所以决定写这篇:ProgressHelper 包含了 创建 显示 并关闭 ProgressDialog

 

 

[代码 步骤]

1. 创建 ProgressHelper  的构造函数 并传入ProgressDialog 所需的 标题 正文

 

String title, text;
	
	Context context;
	
	ProgressDialog pd;
	
	public ProgressHelper(Context c,String t,String te){
		context = c;
		
		title = t;
		text = te;
		
		pd = new ProgressDialog(c);
	}

 

 

2. 利用上述变量 创建ProgressDialog  并显示之 利用上述变量

public void start(){
		pd = ProgressDialog.show(context, "loop from 100 to 0!", "is looping...", true,
    			false);
	}

 

 

3. 关闭 ProgressDialog 

public void end(){
		pd.dismiss();
	}

 

 

 

4. 如何使用

public class ProgressHelperUsage extends Activity {
	public final static int TASK_LOOP_COMPLETE = 0;
	
	ProgressHelper ph;
	
	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        ph = new ProgressHelper(this, "loop from 100 to 0", "is looping...");
        
        
        findViewById(R.id.button).setOnClickListener(new OnClickListener(){
			public void onClick(View v) {
				// TODO Auto-generated method stub
		        ph.start();
		        Thread loop = new Thread(new TaskLoop());
		    	loop.start();
			}
        });
        
        
    }
    
    
    public class TaskLoop implements Runnable {
		@Override
		public void run() {
			// TODO Auto-generated method stub
			loop(5000);
			
			message.sendEmptyMessage(TASK_LOOP_COMPLETE);
		}
    	
    }
    
    public void loop(long i){
    	long j = i;
    	while(j>0){
    		Log.d("tag",j+"");
    		
    		j = j-1;
		}

    }
    private Handler message = new Handler(){
    	public void handleMessage(Message msg) {
			switch(msg.arg1){
			case TASK_LOOP_COMPLETE:
				ph.end();
				break;
				
			}
		}
    };
}

 

 

 

5. emulator 运行截图:

 

 

done!

 

 

分享到:
评论

相关推荐

    Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案

    Service的生命周期独立于Activity,即使Activity被销毁,Service仍能继续运行。通过Binder或Intent回调结果,将更新传递回新的Activity。 5. **Parcelable接口** 对于复杂的对象,实现Parcelable接口可以更高效地...

    各种组件的组合

    6. **Fragment(片段)**:Fragment是Activity的一部分,可以独立于Activity存在,允许在不同屏幕尺寸上灵活布局。Fragment可以在Activity之间动态添加、移除或替换,有助于实现响应式设计。Demo将展示如何创建和...

    Android下使用对话框的例子

    在Android开发中,对话框(Dialog)是一种非常重要的组件,用于与用户进行交互,提供临时信息或者接收用户的输入。在本篇文章中,我们将深入探讨如何在Android应用中使用各种类型的对话框,包括基本对话框...

    Android 等待提示动画源码.zip

    它可以作为独立组件放在界面上,而不仅仅是对话框的一部分。与ProgressDialog不同,ProgressBar可以自定义样式,比如圆形、水平条等,并且可以通过设置最大值和当前值来显示具体进度。 3. **Loader**: Loader是...

    安卓app模拟耗时操作等待对话框

    3. ProgressBar:如果需要更高级的自定义,可以使用ProgressBar控件,它可以在布局文件中独立使用,也可以嵌入到对话框中,提供丰富的定制选项。 4. 异步任务(AsyncTask):通常,耗时操作应在后台线程执行,以免...

    Android 等待提示动画源码.zip源码资源下载

    `ProgressDialog`显示一个对话框,带有进度条,而`ProgressBar`可以在界面上作为独立组件展示。源码中可能有对这些组件的自定义和扩展。 3. **Loader机制**:在Android中,`Loader`是用于后台加载数据并管理生命...

    Android UI讲解

    8. **对话框(Dialog)**:对话框用于显示临时的、需要用户交互的信息,包括AlertDialog、ProgressDialog和DatePickerDialog等。它们提供了一种不中断主线程操作的交互方式。 9. **通知(Notification)**:通知是...

    Android progress前台运算源码.zip

    `ProgressDialog`通常用于显示一个模态对话框,展示一个旋转的指示器或百分比进度,而`ProgressBar`则可以作为独立的UI元素集成到应用的布局中。 1. **使用AsyncTask**:在Android中,`AsyncTask`是处理后台运算的...

    dialog和fragment的运用

    Fragment有自己的生命周期,可以独立于Activity存在,也可以与多个Activity共享。在多屏设备或响应式布局中,Fragment的使用尤为常见,它们可以帮助开发者更好地组织复杂的用户界面。一个Activity可以包含多个...

    Progress实现

    2. **ProgressBar**: 进度条组件,可以作为独立视图添加到布局中。它支持水平和垂直方向的进度条,以及indeterminate(不确定)模式,即无特定终点的连续滚动效果。通过设置`android:progress`和`android:max`属性...

    Android应用源码之远程登录含有loading登录效.rar

    3. **ProgressBar**:现在更推荐使用ProgressBar,它可以作为独立组件或在Activity布局中嵌入,支持自定义样式和动画。 4. **AsyncTask**:Android提供了AsyncTask,一个轻量级的多线程工具,用于在后台执行任务并...

    自定义MyProgressDialog

    MyProgressDialog应该设计成一个独立的模块,能够方便地集成到不同的项目中,只需简单配置就能适应项目的样式和需求。 在实际开发中,我们可以从`MyProgressDialog`这个类开始,分析其源码,理解它是如何创建和管理...

    android界面开发

    - **CheckBox**:复选框,可以独立选中多个CheckBox。 **属性**: - `android:checked`:设置初始状态是否选中。 - `android:text`:设置显示的文本。 **示例**: ```java RadioButton radioButton1 = ...

    Android APP开发框架

    Android自带的AlertDialog、ProgressDialog或Material Design的BottomSheetDialog都是常见的实现方式。 3. **工具类**:工具类是封装了常用功能的静态方法类,如日期时间处理、字符串操作、网络状态检查等。它们...

    Android progress前台运算-IT计算机-毕业设计.zip

    2. **ProgressBar**: 这是一个可自定义的视图,可以在布局文件中作为独立组件使用,或者嵌入到其他视图中。它可以是indeterminate或determinate,后者可以设置最大值和当前值。 3. **AsyncTask**: 这是Android提供...

    自定义进度条对话框

    6. **封装与复用**:为了提高代码的可维护性和复用性,我们可以将进度条对话框封装成一个独立的组件或控件,提供易于使用的接口供其他模块调用。这样,无论在哪个项目中,只要引入这个组件,就能快速构建起自定义的...

    Android Views and Widgets Samples Repository

    这个仓库包含了多个独立的Android Studio项目,每个项目都专注于特定的View或Widget功能。 **Android视图(Views)** Android视图是用户界面的基本构建块,它们负责绘制屏幕上的元素并处理与用户的交互。常见的View...

    VersionDialog.zip

    2. **ProgressDialog**(已废弃,推荐使用Progress Bar):展示进度条,让用户知道后台任务正在运行。 3. **DatePickerDialog**和**TimePickerDialog**:用于选择日期和时间,常用于设置或选择日期和时间的场景。 ...

    Android 学习笔记

    - **定义**:在后台运行的任务,独立于用户界面。 - **类型**: - **启动服务**:通过 `startService()` 方法启动。 - **绑定服务**:通过 `bindService()` 方法启动。 - **生命周期方法**: - `onStartCommand()...

    Android应用源码之界面效果全汇总2.zip

    在Android应用开发中,界面效果的设计与实现是提升用户体验的关键因素。这个名为"Android应用源码之界面效果全汇总2.zip...每个示例都是一个独立的学习点,可以帮助开发者提高技能,创造出更具吸引力和用户体验的应用。

Global site tag (gtag.js) - Google Analytics