ProgressDialog(五)——自定义ProgressDialog
发布日期:2021-06-30 11:15:12 浏览次数:2 分类:技术文章

本文共 2137 字,大约阅读时间需要 7 分钟。

MainActivity如下:

package cn.testprogressdialog;import android.app.Activity;import android.app.Dialog;import android.content.Context;import android.content.DialogInterface;import android.content.DialogInterface.OnCancelListener;import android.os.Bundle;import android.view.Window;/** * Demo描述: * 自定义ProgressDialog *  * 备注说明: * 在此处progressDialog.setOnCancelListener(){} * 并没有起到按下back键盘使风火轮消失的作用. * 因为在initDialog(Context context)中设置了 * dialog.setCancelable(false); * 若需要此功能,注释掉该句代码即可. */public class MainActivity extends Activity {	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.main);		Dialog progressDialog=initDialog(MainActivity.this);		progressDialog.setOnCancelListener(new OnCancelListener() {			@Override			public void onCancel(DialogInterface dialog) {				dialog.dismiss();				//其余业务逻辑			}		});		progressDialog.show();	}	public Dialog initDialog(Context context) {		Dialog dialog = new DialogSubClass(MainActivity.this, R.style.dialog);		dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);		dialog.setCanceledOnTouchOutside(false);		dialog.setCancelable(false);		return dialog;	}}
DialogSubClass如下:

package cn.testprogressdialog;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;public class DialogSubClass extends Dialog {	public DialogSubClass(Context context, int theme) {		super(context, theme);	}	protected DialogSubClass(Context context, boolean cancelable,OnCancelListener cancelListener) {		super(context, cancelable, cancelListener);	}	public DialogSubClass(Context context) {		super(context);	}		@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		View view = LayoutInflater.from(getContext()).inflate(R.layout.dialoglayout, null);		setContentView(view);	}		@Override	public void show() {		super.show();	}		@Override	public void dismiss() {		super.dismiss();	}		public void setMsg(String txt) {			}}
dialoglayout.xml如下:

styles.xml如下:

main.xml如下:

转载地址:https://it9527.blog.csdn.net/article/details/28881567 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:ProgressDialog(四)——改变系统自带ProgressDialog的文字大小
下一篇:Android利用广播监听设备网络连接(断网)的变化情况

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月11日 16时51分58秒