Android 悬浮窗
时间: 2023-10-13 09:12:03 浏览: 158
Android 悬浮窗(Floating Window)是指一种可以在其他应用程序之上显示的小型窗口。悬浮窗可以用于显示一些重要的信息或提供一些快捷操作,比如音乐播放器中的歌曲信息和控制按钮,或者闹钟应用程序中的倒计时窗口。
在 Android 平台上,实现悬浮窗需要使用 WindowManager 类。WindowManager 是一个系统级服务,可以用于管理应用程序窗口的显示和布局。通过 WindowManager,我们可以创建一个新的窗口并将其添加到屏幕上。
要在 Android 应用程序中实现悬浮窗,可以使用以下步骤:
1. 在 AndroidManifest.xml 文件中添加 SYSTEM_ALERT_WINDOW 权限。
2. 创建一个新的窗口布局,并使用 WindowManager.LayoutParams 设置其属性,如窗口类型、位置、大小和透明度等。
3. 将新窗口添加到 WindowManager 中,并设置其显示状态。
下面是一个简单的示例代码,演示如何创建一个悬浮窗:
```
// 创建一个新的窗口布局
View floatView = LayoutInflater.from(this).inflate(R.layout.float_view, null);
// 设置窗口属性
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
// 将窗口添加到 WindowManager 中
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
windowManager.addView(floatView, params);
```
需要注意的是,由于悬浮窗会浮在其他应用程序之上,因此需要谨慎使用,以免影响用户体验。同时,为了避免安全问题,Android 7.0 及以上版本对悬浮窗的使用做了限制,需要用户手动授权。
阅读全文