android 悬浮窗 不影响其他View 事件(如:输入法)
·
/**高版本必须 用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);
更多推荐

所有评论(0)