1.需要在继承Dialog的子类构造函数内,写入以下配制:
public SetWallpaperDialog(Context context) {
this(context, R.style.SetWallpaperDialogStyle);
}
public SetWallpaperDialog(Context context, int themeResId) {
super(context, themeResId);
this.mContext = context;
initConfig();
initContentView();
}
void initConfig() {
WindowManager.LayoutParams params = getWindow().getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.MATCH_PARENT;
params.gravity = Gravity.CENTER;
getWindow().setAttributes(params);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
// 全屏核心属性
getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);
}
// style.xml 添加如下Dialog样式:
<style name="SetWallpaperDialogStyle">>
<item name="android:windowFullscreen">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
</style>
2.AndroidManifest.xml加入弹窗权限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
注意:以上应用于Android4.4.2