Android悬浮窗屏蔽悬浮窗外部所有的点击事件的实例代
码
Android可以在所有应⽤上⽅添加View,就是给WindowManager添加⼀个View,在创建的View的时候可以给这个View设置LayoutParams(android.view.WindowManager.LayoutParams.LayoutParams())属性,默认是屏蔽View区域以外的所有点击事件,即在显⽰View的时候,屏幕的其它区域都不可点击,包括菜单和返回键等。
当给LayoutParams设置合适的flag后,其它区域就可以响应点击了。
⽰例代码:
/**
* 创建⼀个⼩悬浮窗。初始位置为屏幕的右部中间位置。
*
* @param context 必须为应⽤程序的Context.
*/
public static void createSmallWindow(Context context) {
WindowManager windowManager = getWindowManager(context);
int screenWidth = DefaultDisplay().getWidth();
int screenHeight = DefaultDisplay().getHeight();
if (smallWindow == null) {
smallWindow = new FloatWindowSmallView(context);
if (smallWindowParams == null) {
smallWindowParams = new LayoutParams();
smallWindowParams.format = PixelFormat.RGBA_8888;
android模拟点击
smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
| LayoutParams.FLAG_NOT_FOCUSABLE;
smallWindowParams.width = FloatWindowSmallView.viewWidth;
smallWindowParams.height = FloatWindowSmallView.viewHeight;
smallWindowParams.x = screenWidth;
smallWindowParams.y = screenHeight / 2;
}
smallWindow.setParams(smallWindowParams);
windowManager.addView(smallWindow, smallWindowParams);
LogPrinter.i(TAG, "添加了⼩浮标View");
}
}
smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL | LayoutParams.FLAG_NOT_FOCUSABLE;
这⾏代码控制View以外的区域可以响应点击和触摸事件。如果没有设置flag,则View以外区域不能响应
以上所述是⼩编给⼤家介绍的Android悬浮窗屏蔽悬浮窗外部所有的点击事件实例代码,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论