最近一些软件有了很牛X的悬浮窗口功能,很好奇怎么实现的,刚刚终于弄出来了...原理就是调用WindowManager直接操控View,然后再配合相应WindowManager.LayoutParams属性,就OK了。这样产生出来的View根据LayoutParams的属性不同,效果也不一样。有关具体的属性,请自行参考SDK文档。
以下代码请仅供演示:
public class myFloatView extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button bb=new Button(getApplicationContext());
WindowManager wm=(WindowManager)getApplicationContext().getSystemService("window");
WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams();
wmParams.type=2002; //type是关键,这里的2002表示系统级窗口,你也可以试试2003。
wmParams.format=1;
/**
*这里的flags也很关键
*代码实际是wmParams.flags |= FLAG_NOT_FOCUSABLE;
*40的由来是wmParams的默认属性(32)+ FLAG_NOT_FOCUSABLE(8)
*/
wmParams.flags=40;
wmParams.width=40;
wmParams.height=40;
wm.addView(bb, wmParams);
}
}
PS:本代码在Android2.3下测试无错(从API Level来看,实际上android1.5都可行)!另外别忘了在AndroidManifest.xml文件中加入如下权限:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
分享到:
相关推荐
在Windows应用程序开发中,"悬浮窗口"是一种特殊类型的窗口,它总是在其他窗口之上显示,即使用户切换到其他程序或窗口,悬浮窗口也会保持在最前面。这种效果常见于即时通讯软件、下载工具如迅雷等,为用户提供持续...
"倒计时器(悬浮窗口)"这款软件设计独特,它能在电脑屏幕上以悬浮窗口的形式存在,这样用户就可以在进行其他操作,如切换到PPT或使用其他应用程序时,始终保持计时器可见。 首先,我们来深入了解一下悬浮窗口这一...
在Android系统中,悬浮窗口(Floating Window)是一种特殊的应用程序界面,它可以在其他应用之上显示内容,用户可以一边使用其他应用,一边查看或操作悬浮窗口。这种技术在各种辅助工具、聊天应用、游戏插件等领域...
标题中的“桌面上的悬浮窗口(类似Flashget)”是指一种在电脑桌面顶部浮动的小窗口,类似于早期下载管理软件Flashget的特性。这种悬浮窗口通常具备快速访问或控制其他应用程序的功能,用户无需打开主程序界面就能进行...
页面悬浮窗口源码是一种在网页设计中常见的技术,主要用于实现元素在页面滚动时始终保持在屏幕某一位置的效果。这种设计常用于展示重要的通知、广告或工具栏,为用户提供便捷的访问途径,而不会因页面滚动而消失。在...
在本文中,我们将深入探讨如何使用Qt框架创建一个悬浮窗口,也称为气泡窗口。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面和移动设备。本文将基于提供的标题"Qt悬浮窗口",描述以及相关文件名,详细讲解实现...
在IT行业中,视频聊天悬浮窗口切换效果是一种常见的用户体验设计,特别是在多任务处理和实时通信的应用中。这种技术允许用户在进行视频通话的同时,能够轻松地在不同的应用或窗口之间切换,而无需中断通话。以下是对...
在Android系统中,悬浮窗口(通常称为Float Window或Overlay)是一种可以漂浮在其他应用程序之上的用户界面元素。这种技术允许开发者创建具有高度交互性和视觉吸引力的应用,如音乐播放器控制面板、即时消息通知或者...
在IT领域,特别是软件开发中,"悬浮窗口"和"类似VC的类视图"是两个重要的概念,尤其是在用户界面(UI)设计上。本文将详细解释这两个概念,并结合"视图分割"这一标签来深入探讨相关知识点。 首先,让我们了解什么是...
利用Dreamweaver制作网页悬浮窗口,移动下拉条,窗口相对位置不发生变化。
涉及的知识点有: 1、悬浮窗的创建与监听;...3、通过悬浮窗口打开其他程序; 4、悬浮窗口的关闭; 5、设置悬浮窗口可任意移动,并且不影响其他程序使用, 6、附带一个计算器,用于测试打开指定程序
VB6.0仿迅雷悬浮窗口(图标)的实现源码,迅雷的悬浮窗相信大家很熟悉了,其实就是显示一个图标,悬浮在屏幕上,通过这个悬浮图标可单击右键调出菜单,双击图标则会显示主窗口,本源码模拟了悬浮窗口的实现,另外是...
在Android开发中,"android悬浮窗口 demo"是一个用于展示如何在Android系统上创建并实现悬浮窗口(也称为小部件或浮动视图)的应用实例。悬浮窗口通常被设计为始终显示在用户界面的最顶层,即使在其他应用运行时也...
在Android开发中,"悬浮窗口"(通常称为悬浮小部件或系统层窗口)是一种能够覆盖在其他应用之上显示自定义内容的UI元素。这种技术在许多应用中都有应用,例如屏幕录制工具、音乐播放器控制界面等。"Android悬浮窗口...
在本文中,我们将深入探讨如何在Qt环境中实现窗口悬浮效果,以及如何在主窗口与子悬浮窗口之间进行转换。Qt是一个强大的跨平台应用程序开发框架,它提供了丰富的功能和API,使得开发者可以方便地创建出具有高级特性...
JavaScript悬浮窗口控件是一种网页开发技术,主要用于在用户浏览页面时提供始终可见的交互式窗口。这种窗口可以是通知、菜单、广告或者其他任何需要始终保持在屏幕前层的元素。通过JavaScript,开发者能够创建动态的...
### Android悬浮窗口解析 在移动应用开发领域,特别是在Android平台上,悬浮窗口技术因其独特性和实用性而备受关注。本文将深入探讨Android悬浮窗口的设计原理及其实现细节,旨在为开发者提供全面的技术指南。 ###...
在Android开发中,可移动的悬浮窗口(通常称为Float View或Floating Window)是一种常见的功能,它可以在用户使用其他应用时持续显示在屏幕上方,提供便捷的交互或信息展示。这种技术主要通过Android的`...
VC 悬浮窗口,类似迅雷下载的悬浮窗,在这个小小的悬浮窗上可以点击鼠标右键,弹出对应的主窗口,就像双击迅雷的悬浮窗,会弹出迅雷下载的主窗口一样,悬浮窗目前在各个软件的设计中使用越来越频率了,因此本源码很...