android有时候需要show对话框,但是对话框需要依附于activity,如果没有activity怎么办
2015-10-28 11:50
507 查看
两种方案:
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显示对话框
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显示对话框
相关文章推荐
- Android修改源码解决Alertdialog触摸对话框边缘消失的问题
- Android实现点击AlertDialog上按钮时不关闭对话框的方法
- Android入门之AlertDialog用法实例分析
- Android学习笔记-Lesson 4: Favorite Twitter Searches Ap
- 为自定义的ListView的条目添加对话框
- 7中android常用的提示框(AlertDialog)
- android中在广播中弹出pop框的局限性
- AlertDialog类的使用
- AlertDialog中EditText输入法调不出 edittext调用输入法等问题
- AlertDialog 修改内部元素属性 按钮 message title
- android AlertDialog自定义布局文件
- Android 对话框
- android————AlertDialog,ProGressDialog
- AlertDialog为什么显示不出来,仅出现变暗呢?
- AlertDialog
- Android自定义Dialog
- AlertDialog中EditText不能获取焦点以及不宽度不能自动铺满的完美解决方案
- android中AlertDialog包含EditText时弹出键盘
- Android 改变AlertDialog中View字体的大小
- 自定义AlertDialog,去掉黑色边框