Android 中悬浮窗口
来源:互联网 发布:淘宝卖家退货率 编辑:程序博客网 时间:2024/04/30 21:57
调用WindowManager,并设置WindowManager.LayoutParams的相关属性,通过WindowManager的addView方法创建View,这样产生出来的View根据WindowManager.LayoutParams属性不同,效果也就不同了。比如创建系统顶级窗口,实现悬浮窗口效果!
WindowManager的方法很简单,基本用到的就三个addView,removeView,updateViewLayout。
而WindowManager.LayoutParams的属性就多了,非常丰富,具体请查看SDK文档。这里给出Android中的WindowManager.java源码,可以具体看一下。
下面是简单示例代码:
01
public
class
myFloatView
extends
Activity {
02
/** Called when the activity is first created. */
03
@Override
04
public
void
onCreate(Bundle savedInstanceState) {
05
super
.onCreate(savedInstanceState);
06
setContentView(R.layout.main);
07
Button bb=
new
Button(getApplicationContext());
08
WindowManager wm=(WindowManager)getApplicationContext().getSystemService(
"window"
);
09
WindowManager.LayoutParams wmParams =
new
WindowManager.LayoutParams();
10
11
/**
12
*以下都是WindowManager.LayoutParams的相关属性
13
* 具体用途请参考SDK文档
14
*/
15
wmParams.type=
2002
;
//这里是关键,你也可以试试2003
16
wmParams.format=
1
;
17
/**
18
*这里的flags也很关键
19
*代码实际是wmParams.flags |= FLAG_NOT_FOCUSABLE;
20
*40的由来是wmParams的默认属性(32)+ FLAG_NOT_FOCUSABLE(8)
21
*/
22
wmParams.flags=
40
;
23
wmParams.width=
40
;
24
wmParams.height=
40
;
25
wm.addView(bb, wmParams);
//创建View
26
}
27
}
别忘了在AndroidManifest.xml中添加权限:
1
<
uses-permission
android:name
=
"android.permission.SYSTEM_ALERT_WINDOW"
/>
PS:这里举例说明一下type的值的意思:
这个FIRST_SYSTEM_WINDOW的值就是2000。2003和2002的区别就在于2003类型的View比2002类型的还要top,能显示在系统下拉状态栏之上!
文章来自:http://www.oschina.net/question/54100_28364
- Android中悬浮窗口
- Android中悬浮窗口
- Android 中悬浮窗口
- Android中悬浮窗口
- Android中悬浮窗口
- Android中使用WindowManager实现悬浮窗口
- 在android中添加悬浮窗口
- 如何实现Android中悬浮窗口
- android 悬浮窗口
- android 悬浮窗口
- Android悬浮窗口基本知识
- android 悬浮窗口
- android 悬浮窗口
- android 悬浮窗口
- Android悬浮窗口
- Android 悬浮窗口
- Android 悬浮窗口
- 实现android悬浮窗口
- linux 软硬连接
- ACRush 楼天成回忆录
- SpringMVC深度探险(二) —— SpringMVC概览
- Myeclipse 和eclipse项目互换导入,需修改文件
- 【小蒙淘金】11.29金评-黄白上演高台跳水
- Android 中悬浮窗口
- NSURLConnection同步与异步请求
- A Field Guide To Mobile App Testing
- 深入了解计算机系统 习题2.63
- 程序跳转到Launch主页面
- linux 下 curses库 安装 和使用
- javascript开发规范要求
- object pointer
- 更新计划