当前位置: 首页 > news >正文

Android kotlin全局悬浮窗全屏功能和锁屏页面全屏悬浮窗功能二

1.前言

在进行app应用开发中,在实现某些功能中要求实现悬浮窗功能,分为应用内悬浮窗 ,全局悬浮窗和 锁屏页面悬浮窗功能
等,接下来就来实现这些悬浮窗全屏功能,首选看下第二部分功能实现

2.kotlin实现锁屏页面悬浮窗全屏功能二分析

悬浮窗是属于Android系统的一种浮动窗口,可以在其他应用程序的上层显示,
可以随意拖动、缩放、关闭等操作,常用于提醒、通知、广告等
在Android系统中,每个窗口都对应一个Window对象,而悬浮窗就是一种特殊的Window,
通常采用从系统层面抽象出的ViewSystem中的PopupWindow来实现。
其中,PopupWindow是继承自具有运动能力的WindowManager.LayoutParams的一个类,
这也意味着我们可以随意对其进行位置、大小、显示方式等操作。因此,我们可以使用
PopupWindow实现一个不影响其他应用可随意操作且不需要Activity跳转的自定义悬浮窗

2.1 悬浮窗的实现方法

实现一个悬浮窗分为以下几个步骤:
(1)在AndroidManifest.xml中声明悬浮窗权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
(2)在需要显示悬浮窗的Activity或Service里面创建WindowManager和PopupWindow,设置其显示位置、大小和内容等属性

2.2 关于在实现全局悬浮窗全屏功能和锁屏页面全屏悬浮窗功能实现

package com.lmy.suspendedwin

相关文章:

  • 赋能数据收集:从机票网站提取特价优惠的JavaScript技巧
  • 最近接到一个大项目,给公司设计抢商品代金劵业务
  • 洛谷P3372 线段树
  • Linux的一些基本指令
  • #微信小程序:微信小程序常见的配置传值
  • electron-builder打包
  • mysql体系结构及主要文件
  • python 笔记:locals
  • python笔记基础--类(6)
  • 洛谷day3
  • Redis是如何避免“数组+链表”的过长问题
  • React【Day1】
  • 【大模型】在VS Code(Visual Studio Code)上安装中文汉化版插件
  • [激光原理与应用-78]:激光加工(如打标)的各种笔参数与含义解读
  • MCGS学习——用户管理
  • 「译」Node.js Streams 基础
  • 【Linux系统编程】快速查找errno错误码信息
  • Elasticsearch 参考指南(升级前重新索引)
  • Next.js之基础概念(二)
  • PHP那些事儿
  • Terraform入门 - 1. 安装Terraform
  • Yeoman_Bower_Grunt
  • 回顾2016
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 人脸识别最新开发经验demo
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • #数学建模# 线性规划问题的Matlab求解
  • (1)(1.11) SiK Radio v2(一)
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (蓝桥杯每日一题)love
  • (七)理解angular中的module和injector,即依赖注入
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (区间dp) (经典例题) 石子合并
  • (十) 初识 Docker file
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .java 9 找不到符号_java找不到符号
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .pyc文件是什么?
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • [ACTF2020 新生赛]Include
  • [AIGC] Spring Interceptor 拦截器详解
  • [AIGC] SQL中的数据添加和操作:数据类型介绍
  • [Android 13]Input系列--获取触摸窗口
  • [C++]STL之map
  • [exgcd] Jzoj P1158 荒岛野人
  • [ffmpeg] av_opt_set 解析
  • [hive] 窗口函数 ROW_NUMBER()
  • [IE编程] 打开/关闭IE8的光标浏览模式(Caret Browsing)