自定义悬浮窗口

原创 2015年07月09日 13:24:22

这种悬浮窗口和PopupWindow有点像,但PoupWindow的声明周期只在开启的他的Acitivity里面,这个Activity挂掉了,他也跟着挂掉了,

而这种悬浮窗口是悬浮在安卓系统上的,最简单的自定义方法就是打开Toast的源码,抄一下里面的代码,然后改一改就可以了

Toast是不能获得焦点和不能被点击的的,要使这个悬浮窗口获得焦点并设置一些点击事件,

必须把WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE

            | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE

这连个参数去掉

并把窗口的弹出类型设置成params.type = WindowManager.LayoutParams.TYPE_PRIORITY_PHONE;



<span style="font-size:24px;">wm=(WindowManager) getSystemService(WINDOW_SERVICE); 
params = new WindowManager.LayoutParams();
         params.height = WindowManager.LayoutParams.WRAP_CONTENT;
         params.width = WindowManager.LayoutParams.WRAP_CONTENT;
         params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
              
                 | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
         params.format = PixelFormat.TRANSLUCENT;
         params.gravity=Gravity.LEFT|Gravity.TOP;
         
         //优先级电话用户界面,需要添加一个系统级的权限
         params.type = WindowManager.LayoutParams.TYPE_PRIORITY_PHONE;
         
         //设置弹出的窗口为Toast类型,特点是不能获得焦点
//         params.type=WindowManager.LayoutParams.TYPE_TOAST;
        		 
         //设置弹出窗口的位置,这个位置一Gravity的值为准
         params.x=sf.getInt("paramsX", 0);
         params.y=sf.getInt("paramsX", 0);
         wm.addView(v, params);</span>


版权声明:本文为博主原创文章,未经博主允许不得转载。

自定义悬浮窗

public class SmallView extends LinearLayout{ private WindowManager mWindownManager; //小窗口 private...
  • lixuesong13
  • lixuesong13
  • 2017年01月31日 10:31
  • 614

自定义toast你需要的都在这里,单例模式,自定义布局,完全自定义,可拖动的悬浮窗

1.单例的toast 参考:Android 特殊的单例Toast(防止重复显示) public class MyToast { /** 之前显示的内容 */ pri...
  • qq_31340657
  • qq_31340657
  • 2016年05月09日 14:33
  • 1740

Android 自定义PopupWindow实现悬浮窗效果

有时候我们需要在界面上弹出一个窗口,而Android中弹出窗体有两种方式:一种是AlertDialog,另一种就是PopupWindow,AlertDialog的位置是固定的,而PopupWindow...
  • ZuoZuoShengHen
  • ZuoZuoShengHen
  • 2016年08月03日 10:38
  • 2872

自定义悬浮窗口

这种悬浮窗口和PopupWindow有点像,但PoupWindow的声明周期只在开启的他的Acitivity里面,这个Activity挂掉了,他也跟着挂掉了, 而这种悬浮窗口是悬浮在安卓系统上的,最...
  • qq_15949077
  • qq_15949077
  • 2015年07月09日 13:24
  • 674

Android 悬浮窗 Demo

1.创建悬浮窗和显示 private void showFloatWindow() { mResultTv = new TextView(mContext); ...
  • su749520
  • su749520
  • 2018年02月02日 17:44
  • 260

模仿Toast自定义悬浮窗口

private boolean mShowTips = false; private static final int FLOAT_VIEW_DISPLAY_TIME = 2000; ...
  • WXPIZH
  • WXPIZH
  • 2013年07月25日 14:57
  • 552

自定义Toast(悬浮窗口)

写在开头或许你会遇到一个需求,就是在app的界面之上显示一个类似toast的按钮,来开展一些我们的逻辑实现,今天就来写写这个。实现步骤首先我们定义一个类(传入上下文,难免会用到) public ...
  • say_from_wen
  • say_from_wen
  • 2017年05月17日 22:52
  • 339

安卓可移动的悬浮窗口的使用

需求描述: 在使用手机客户端浏览内嵌网页的时候,界面出现一个悬浮的刷新按钮,点击网页重新加载。 定义窗口布局: ...
  • u012591761
  • u012591761
  • 2015年02月03日 15:13
  • 1151

android自定义悬浮控件

最近很少写博客了,今天是2016年的第一天。 最近工作中用到了这个悬浮控件。 悬浮控件的实现方式有好几种,在这里使用android的事件分发机制来实现的,以及自定义控件的一些常规操作。 gith...
  • ta893115871
  • ta893115871
  • 2016年01月01日 21:07
  • 4707

Qt悬浮窗

想做类似gnucash中的悬浮效果 费劲周折,尝试了QDockWidget的setFloting(),也尝试了QMdiArea,效果都不理想。 搜到一个方法比较管用,发个链接备忘 paip.提升用...
  • u011735376
  • u011735376
  • 2015年12月29日 06:45
  • 1782
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义悬浮窗口
举报原因:
原因补充:

(最多只允许输入30个字)