android 全局dialog的实现
2016-07-07 17:20
393 查看
该功能是以Service的形式创建的AlertDialog,原因是直接在activity里通过WindowManager.addView()方式未成功。闲话少叙,上代码。
1、AlertDialog实现代码,在Service里创建此dialog,其中context对象是getApplicationContext()。
View v = View.inflate(context, R.layout.dialog_test, null);
AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.liwyDialog);
builder.setView(v);
AlertDialog dialog = builder.create();
//设置dialog的弹窗类型
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
dialog.show();
2 、所需权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
3 、启动Service即可。
dialog弹出后不会占用activity的活动线程,即不会调用activity的onPause(),activity里的功能还可正常运转。实现此功能的关键点在于权限和这个dialog的弹窗属性。如果不设置会报错。
1、AlertDialog实现代码,在Service里创建此dialog,其中context对象是getApplicationContext()。
View v = View.inflate(context, R.layout.dialog_test, null);
AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.liwyDialog);
builder.setView(v);
AlertDialog dialog = builder.create();
//设置dialog的弹窗类型
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
dialog.show();
2 、所需权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
3 、启动Service即可。
dialog弹出后不会占用activity的活动线程,即不会调用activity的onPause(),activity里的功能还可正常运转。实现此功能的关键点在于权限和这个dialog的弹窗属性。如果不设置会报错。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories