当前位置: 移动技术网 > IT编程>移动开发>Android > Android悬浮窗屏蔽悬浮窗外部所有的点击事件的实例代码

Android悬浮窗屏蔽悬浮窗外部所有的点击事件的实例代码

2019年07月24日  | 移动技术网IT编程  | 我要评论

深瞳演员表,马金凤豫剧,项目可行性研究报告范文

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 = windowmanager.getdefaultdisplay().getwidth();
  int screenheight = windowmanager.getdefaultdisplay().getheight();
  if (smallwindow == null) {
   smallwindow = new floatwindowsmallview(context);
   if (smallwindowparams == null) {
    smallwindowparams = new layoutparams();
    smallwindowparams.type = layoutparams.type_phone;
    smallwindowparams.format = pixelformat.rgba_8888;
    smallwindowparams.flags = layoutparams.flag_not_touch_modal
      | layoutparams.flag_not_focusable;
    smallwindowparams.gravity = gravity.left | gravity.top;
    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悬浮窗屏蔽悬浮窗外部所有的点击事件实例代码,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网