版权声明:本文为博主原创文章,未经博主允许不得转载。 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中建立对象
这个就不用了吧。。。。。