导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[farsightemb]在Android中使用WindowMan



No.64157
作者:farsightemb
邮件:farsightemb@163.com
ID:130243
登陆:2次
文章数:13篇
最后登陆IP:60.223.236.163
最后登陆:2013/3/22 14:01:44
注册:2011/1/13 17:12:53
财富:120
发帖时间:2012/9/6 14:40:01
发贴者IP:219.238.170.128
标题:farsightemb:在Android中使用WindowManager实现悬浮窗口
摘要:No.64157在Android中使用WindowManager实现悬浮窗口 作者:温尚书,华清远见嵌入式学院讲师。

最近在做一个项目的过程中,客户提出要一个能悬浮于所有应用的界面。下图右侧这个界面就是需要实现的悬浮于所有应用之上的视图。

下面就介绍一下如何通过WindowManager来实现这个效果。

通过WindowManager的addView()方法,并设置WindowManager.LayoutParams的相关属性,就可以往WindowManager中加入所需要的View,而根据WindowManager.LayoutParams属性不同,也就能实现不同的效果。比如创建系统顶级窗口,实现悬浮窗口效果。如果需要将View从WindowManager中移除,只需要调用removeView()即可。

下面以一个简单的例子来解释一下如何实现悬浮窗口效果。

首先,得到WindoeManager对象:

WindowManager wManager = getApplicationContext().getSystemService( Context. WINDOW_ SERVICE);

其次,得到WindowManager.LayoutParams对象,为后续设置相关参数做准备:

private WindowManager.LayoutParams wmParams=new WindowManager.LayoutParams();

接着,设置相关的窗口布局参数,要实现悬浮窗口效果,主要需要设置的参数有:

wmParams.type = LayoutParams.TYPE_PHONE; // 设置window type

wmParams.format = PixelFormat.RGBA_8888; // 设置图片格式,效果为背景透明

/*

* 下面的flags属性的效果形同"锁定" ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:78531毫秒 查询6次