android有时候需要show对话框,但是对话框需要依附于activity,如果没有activity怎么办

来源:互联网 发布:linux 安装内核源码 编辑:程序博客网 时间:2024/06/05 17:52

     两种方案:

1、弹出activity类型的对话框:

2、如果嫌第一种麻烦,那就getwindow(),让你的对话框显示在你取的window上;


第一种已经写过了


第二种:

先在manifest理添加权限

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


        int themeID = getResources().getIdentifier("androidhwext:style/Theme.Emui.Dialog.Alert",null,null); //适配主题
        AlertDialog.Builder builder = new  AlertDialog.Builder(this,themeID);
        builder.setTitle(R.string.wifi_is_disconnect);               
        builder.setPositiveButton(R.string.open_confirm,new OpenDataConnectOKListener());
        builder.setNegativeButton(R.string.cancle_confirm, new CloseDataConnectOKListener());
        mAlertDialog = builder.create();
        final  View  layout = mAlertDialog.getLayoutInflater().inflate(R.layout.define_view_dialog,null);
        mCheckbox = (CheckBox) layout.findViewById(R.id.closeReminder);
        mAlertDialog.setView(layout);
        mAlertDialog.setCanceledOnTouchOutside(false);//屏蔽返回键
        //mAlertDialog.setCancelable(false);
        mAlertDialog.getWindow().setType(
                WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);//获取window显示对话框



0 0