Android中可自由移动悬浮窗口的Demo

 

http://www.xsmile.net/?p=452

前段时间捣鼓出Android悬浮窗口的实现,今天抽空写了一个可自由移动悬浮窗口的Demo。

简要说明如下:

1、通过覆写悬浮View中onTouchEvent方法实现自由移动悬浮窗口。

2、悬浮窗口坐标的移动实际是windowMananager.LayoutParams中x和y的变换,但是要注意设置相应的gravity。

3、用windowManager创建的View,当不需要时,务必记住使用windowManager的removeView方法来移除,请在Activity相关生命周期中自行添加扫尾工作。

4、代码中已经附上详细注释。有关参数具体含义,请自行参考SDK。

 

Demo源码下载地址

===============================

注意Demo中wmParams.format=1的属性(我源码中打了双斜杠),如果启用,图片背景将会透明,效果图如下:

================================

一些说明:

对于种种原因没有查看SDK文档的一些朋友,可能对我源码中wmParams.type=2002这样的语句不太了解其2002的具体意义,给出可读性好点的语句。

如下:

        wmParams.type=LayoutParams.TYPE_PHONE;         //wmParams.format=PixelFormat.RGBA_8888;   //设置图片格式,效果为背景透明        wmParams.flags=LayoutParams.FLAG_NOT_TOUCH_MODAL                              | LayoutParams.FLAG_NOT_FOCUSABLE;        /*         * 下面的flags属性的效果形同“锁定”。         * 悬浮窗不可触摸,不接受任何事件,同时不影响后面的事件响应。         wmParams.flags=LayoutParams.FLAG_NOT_TOUCH_MODAL                                | LayoutParams.FLAG_NOT_FOCUSABLE                               | LayoutParams.FLAG_NOT_TOUCHABLE;        */

 

更多相关文章

  1. 拨云见日---android异步消息机制源码分析(二)
  2. android studio 官方用户指南翻译学习(一)--探索 Android(安卓)Stu
  3. Android串口操作,简化android-serialport-api的demo(附源码)
  4. 跨进程调用Service(AIDL服务) (附图 附源码)
  5. Android系统input系统(1)
  6. Android端腾讯性能监控框架Matrix源码分析之第一篇
  7. 直播软件源码Android(安卓)shape半圆,1/4圆
  8. Android(安卓)Q 深色模式(Dark Mode)源码解析
  9. android NDK扩展

随机推荐

  1. Android property-animation 占CPU偏高
  2. Android Training - 使用IntentService执
  3. Android配置gradle 阿里云镜像
  4. Android SpannableString使用例子
  5. Android 加载图片并存放在缓存中
  6. Android自定义属性,format
  7. Android 代码监控apk安装,卸载,替换
  8. Android 实现蓝牙打印的功能
  9. Android快捷方式的设定
  10. 【Android】【动画】自定义插值器Interpo