/**高版本必须 用activity的实例(防止不显示出来)*/
windowManager = activity.getWindowManager();
WindowManager.LayoutParams mWindowParams = new WindowManager.LayoutParams();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    if (Settings.canDrawOverlays(activity)) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { //8.0新特性
            mWindowParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
        } else {
            mWindowParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
        }
     }
}
/** 必须是这个flags WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE */
mWindowParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;

mWindowParams.windowAnimations = R.style.wm_style_ainm;
mWindowParams.width = WindowManager.LayoutParams.MATCH_PARENT;
mWindowParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
mWindowParams.format = PixelFormat.TRANSLUCENT;
mWindowParams.gravity = Gravity.TOP;
windowManager.addView(msgLayout, mWindowParams);

更多推荐