记录一次自己集成FloatWindow 悬浮窗在界面显示一秒就消失的现象

最近项目需要做个客服的,在任意界面都可以进入客服界面,首先想到的就是悬浮窗,在GitHub上找到了一个很不错的库

https://github.com/yhaolpz/FloatWindow   

然后开始按照步骤一步步引入到自己的项目中来

最后在MainActivity 的onCreate() 方法中引入入initFloatMenu()

  private void initFloatMenu() {
        ImageView imageView = new ImageView(getApplicationContext());
        imageView.setImageResource(R.drawable.menu);

        FloatWindow
                .with(getApplicationContext())
                .setView(imageView)
                .setWidth(Screen.width, 0.16f) //设置悬浮控件宽高
                .setHeight(Screen.width, 0.16f)
                .setX(Screen.width, 0.8f)
                .setY(Screen.height, 0.4f)
                .setMoveType(MoveType.slide,0,0)
                .setMoveStyle(500, new BounceInterpolator())
                .setFilter(true,MainActivity.class)
                 .setDesktopShow(false)
                .build();


        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
           
                MyUtils.showMenuFloat(new MInterFaceUtils.CallBack() {
                    @Override
                    public void success(Object o) {
                      
                    }

                    @Override
                    public void fail(Object o) {

                    }
                });
            }
        });
    }

然后运行,一切似乎特别平静,可是当APK运行起来以后,我发现那个悬浮窗显示一秒钟,然后马上消失!

杀掉重启还是这样,晕,然道是我权限没有给,查看发现悬浮窗的权限已经打开,所有的配置都正确。

折腾了一段时间后,我进入项目例子中,发现初始化是在Application中做的,我把initFloatMenu() 这段初始化的代码放入了 Application 的onCreate() 方法中,重新运行,

APP启动以后,嘻嘻,一切正常,悬浮窗正常显示。

  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值