android 设置全局显示的对话框

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31876841/article/details/50325509

步骤:

1、建立application 获取context

2、在新建的对话框中设置全局显示

3、在AndroidManifest中获取权限

4、在想要显示的布局中建立对象调用


建立application 获取context

/*
*
*@auther Jianjun Huang
*
*@date 2015年12月11日
*/
public class MyApplication extends Application{
	  private static Context context;
	  private static Window window;
	    @Override
	    public void onCreate() {
	        context=getApplicationContext();
	    }
}


2-全局显示对话框的代码:

// 对话提醒
	private void alterDiog(String cleanMember2, String weeks, String mWay) {

		Duty_Dialog.Builder builder = new Duty_Dialog.Builder(MyApplication.getContext());

		builder.setTitle("值日提醒");
		// 设置信息
		builder.setMessage("今天是" + "\t" + weeks + "\t" + mWay + "\n" + "值日人员:" + cleanMember2 + "\n大家互相提醒一下!");

		builder.setPositiveButton("知道了", new DialogInterface.OnClickListener() {
			public void onClick(DialogInterface dialog, int which) {

				dialog.dismiss();

			}
		});

		Window window = MyApplication.getWindow();
		// 获取对话框当前的参数值
//		WindowManager.LayoutParams p = window.getAttributes();
//
//		WindowManager m = MyApplication.getWindow().getWindowManager();
//		// 获取屏幕宽、高用
//		Display d = m.getDefaultDisplay();
//
//		// 宽度设置为屏幕的0.65
//		p.width = (int) (d.getWidth() * 0.6);
//
//		// 设置位置
//		window.setGravity(Gravity.CENTER);
//		// 透明度
//		p.alpha = 0.7f;
//		window.setAttributes(p);

		Duty_Dialog dialog = builder.create();
		dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);//
		// 将弹出框设置为全局
		dialog.setCanceledOnTouchOutside(false);// 失去焦点不会消失
		dialog.show();
	}
主要就是下面的两行代码。


3-在AndroidManifest中添加权限

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />


4-在想要显示对话框的activity中建立对象

这个就不用了吧。。。。。




猜你喜欢

转载自blog.csdn.net/qq_31876841/article/details/50325509