一个activity 上初始化一层(popuwindow) 类似于悬浮框

本文探讨了在Android应用中实现在Activity上始终显示一个小尾巴视图的技术方案。作者对比了使用悬浮窗、PopupWindow及FrameLayout的不同实现方式,并详细记录了从尝试到最终确定采用定时启动PopupWindow的方法过程中遇到的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 最近要做一个需求:在activity上始终保留一个小尾巴,即上下两层的原理。 实现这个要么1.悬浮框(windowManager 系统级的)会屏蔽好多东西(返回键,dialog)等。2.popuwindow,一般只是在事件触发才弹出,初始化的时候报错。3.放在frameLayout上 叠加 。

  刚开始做的时候走了好多的弯路。先是在frameLayout上叠加后来整体滑动的时候卡,后来改成了悬浮框,但是发现屏蔽了好多东西。  最后又改成了popuWindow  .初始化时报错后来查了资料在onStart()里启动一个线程定时器 用handler 接收:代码如下 : 开始:

 private Handler mHandler = new Handler(){    public void handleMessage(Message msg) { switch (msg.what) {

            case 13:  showTail();  break;    }  };  }; 在onStt里:protected void onStart() { Timer timer = new Timer(); if(null == popuWindow ){   timer.schedule(new initPopupWindow(), 200);

}

super.onStart();

}

 

public class initPopupWindow extends TimerTask{    public void run() {   Message message = new Message();

            message.what = 13;

            mHandler.sendMessage(message);      }       

    }

放在onStart里是需要判断一下 ,按返回键是又初始化一次,会报不能在加一个parent的错误,所以需要一个判断

这个定时器的时间很特别 100 时我的老是报错

转载于:https://my.oschina.net/u/242808/blog/67394

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值