// 定义浮动窗口布局
private View mFloatLayout;
// 定义浮动窗口布局对象
private WindowManager.LayoutParams wmParams;
// 创建浮动窗口设置布局参数的对象
private WindowManager mWindowManager;

@SuppressWarnings("static-access")
private void createFloatView() {
wmParams = new WindowManager.LayoutParams();
// 获取的是WindowManagerImpl.CompatModeWrapper
mWindowManager = (WindowManager) getApplication().getSystemService(
getApplication().WINDOW_SERVICE);

// 设置window type
wmParams.type = android.view.WindowManager.LayoutParams.TYPE_PHONE;
// 设置图片格式,效果为背景透明
wmParams.format = PixelFormat.RGBA_8888;
// 设置浮动窗口不可聚焦(实现操作除浮动窗口外的其他可见窗口的操作)
wmParams.flags = android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
// 调整悬浮窗显示的停靠位置为左侧置顶
wmParams.gravity = Gravity.RIGHT | Gravity.TOP;
// 以屏幕左上角为原点,设置x、y初始值,相对于gravity
wmParams.x = 0;
wmParams.y = (int) getResources().getDimension(R.dimen.kaka_70_dip);

// 设置悬浮窗口长宽数据
wmParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
wmParams.height = WindowManager.LayoutParams.WRAP_CONTENT;

/*
* // 设置悬浮窗口长宽数据 wmParams.width = 200; wmParams.height = 80;
*/

LayoutInflater inflater = LayoutInflater.from(getApplication());
// 获取浮动窗口视图所在布局
mFloatLayout = (View) inflater.inflate(R.layout.po_view, null);
// 添加mFloatLayout
mWindowManager.addView(mFloatLayout, wmParams);
// 浮动窗口按钮
// mFloatView = (Button) mFloatLayout.findViewById(R.id.float_id);
mFloatLayout.measure(View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED), View.MeasureSpec
.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));

}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
createFloatView();
}

@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
mWindowManager.removeView(mFloatLayout);
}

android 界面悬浮框实现的更多相关文章

  1. Android -- 使用WindowManager实现悬浮框效果

    1,原文在这里http://blog.csdn.net/qq_17250009/article/details/52908791,我只是把里面的关键步骤给注释了一下,首先来看一下我们的效果,如图(电脑 ...

  2. Android悬浮框,在Service中打开悬浮窗;在Service中打开Dialog;

    文章介绍了如何在Service中显示悬浮框,在Service中弹出Dialog,在Service中做耗时的轮询操作: 背景需求: 公司的项目现在的逻辑是这样的:发送一个指令,然后3秒一次轮询去查询这个 ...

  3. Android音视频通话过程中最小化成悬浮框的实现(类似Android8.0画中画效果)

    关于音视频通话过程中最小化成悬浮框这个功能的实现,网络上类似的文章很多,但是好像还没看到解释的较为清晰的,这里因为项目需要实现了这样的一个功能,今天我把它记录下来,一方面为了以后用到便于自己查阅,一方 ...

  4. Android 应用开机自启和无需权限开启悬浮框

    开机自启主要自定义广播接收类,且需要在清单文件中注册,不要在代码中动态注册. <uses-permission android:name="android.permission.REC ...

  5. 026 Android 带不同类型条目的listview(纯文本类型的条目,图片+文字类型的条目)+读取内存空间、手机进程信息+常驻悬浮框

    1.目标效果 带不同类型条目的listview(纯文本类型的条目,图片+文字类型的条目)+常驻悬浮框 2.页面布局文件 (1)activity_process_manager.xml <?xml ...

  6. Echarts ecomfe 触摸屏 touch 在IE10下无法显示悬浮框

    问题描述: Windows 8 IE10浏览http://echarts.baidu.com/doc/example/line2.html 时,鼠标放置在数据点上时无法显示悬浮框. 正常情况为: 而现 ...

  7. 小米Adnroid默认禁止悬浮框的使用,导致开发的悬浮框无法接收事件

    比如你建了一个悬浮框: WindowManager windowManager = getWindowManager(context); int screenWidth = windowManager ...

  8. Android界面组件的四种启动方式

    Android界面组件启动有四种方式 standard,singleTop,singleTask,singleInstance. standard:每次调用都会都会产生新的组件. singletop: ...

  9. JavaScript侧边悬浮框

    <script> window.onscroll=function(){ var oDiv=document.getElementById('div1'); var scrollTop=d ...

随机推荐

  1. java实现UDP聊天---转载

    import java.io.*; import java.net.*; class Send implements Runnable { private DatagramSocket ds; pub ...

  2. Github 修正上传时“this exceeds GitHub’s file size limit of 100 MB”错误

    自己的项目的版本控制用的是Git,代码仓库在github托管.项目里用到了IJKMediaFramework 想把代码push到github上,结果出错了,被拒绝,具体信息是: Total 324 ( ...

  3. 关于oracle数据库(3)

    show user ; 查看当前用户的名称 select * from tab;  查看当前用户有哪些表 删除用户 drop user jky cascade; //cascade; 意思是级联操作 ...

  4. CSS居中方法

    css居中方法非常多,根据工作的实际情况采用恰当方法,可取到事半功倍的效果. 就常见的一些居中方法整理如下: 代码如下: <div class="con"> <d ...

  5. KVM 虚拟机基本管理及常用命令

    KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm qemu]# ll t ...

  6. APP测试--测试日报和上线报告

    1 测试日报包含: 1 对当前测试版本质量进行分级 2 对较严重的问题进行举例,提示开发人员优先修改 3 对版本的整体情况进行评估 2 上线报告: 1 对当前版本质量进行分级 2 附上测试报告(功能测 ...

  7. 自定义Button成进度条

    ProgressButton源码: package com.example.progressbutton; import android.content.Context; import android ...

  8. myBatIs.Net 调用Oracle 存储过程返回游标

    找了好久,网上也没示例,全是java的,没办法,后来看到一个网上别人写的例子. http://www.myfirm.cn/blog/article/Control/13.html 上面照套还是出错,我 ...

  9. 图片(img标签)大小自适应

    $(function(){ var myimg,oldwidth,oldheight; var maxwidth=249; var maxheight=187; var imgs = document ...

  10. maven 代理

    切换到{maven.home}\conf (ie: maven 安装目录) 拷贝settings.xml到自己的.m2目录 编辑.m2/settings.xml的代理部分: <proxy> ...