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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/767555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dddssss

import cv2 from cvzone.PoseModule import PoseDetectorif __name__ __main__:# cap cv2.VideoCapture(2.mp4)cap cv2.VideoCapture(0)detector PoseDetector()posList []while True:success, img cap.read()img detector.findPose(img)# 获取33个点的每一帧放到lmList…

web渗透测试漏洞流程:目标域名CDN绕过

1.2.1 判断域名是否存在CDN 首先,要验证一个域名是否正在使用CDN服务,我们可以借助在线工具如ChinaZ的Ping服务(http://ping.chinaz.com/)来进行测试。当通过该工具查询到的IP地址不止一个时,这通常意味着显示的IP列表并非直接指向实际服务器的唯一真实IP。比如,若结果显…

jenkins配置源码管理的git地址时,怎么使用不了 credential凭证信息

前提 Jenkins使用docker部署 问题 &#xff08;在jenlins中设置凭证的方式&#xff09;在Jenkins的任务重配置Git地址&#xff0c;并且设置了git凭证,但是验证不通过&#xff0c;报错; 无法连接仓库&#xff1a;Command "git ls-remote -h -- http://192.1XX.0.98:X02/…

Compose UI 之 Checkbox 复选框 RadioButton 单选框

Checkbox 复选框 & RadioButton 单选框 Checkbox 复选框提供了在多个选项中选择一个或多个选项的作用。 RadioButton 单选框提供了在多个选项中只能选择一个选项的作用。 下面就分别来介绍下 Android Compose UI 库中的 Checkbox 复选框 和 RadioButton 单选框。 Radio…

C语言中的运算符优先级详解与使用示例

以下是C语言中运算符优先级的&#xff0c;以及对每个运算符的详细解释&#xff1a; 优先级运算符类别运算符描述1后缀() 函数调用 ( 数组下标 )函数调用、数组元素访问. 结构体成员访问 -> 结构体指针成员访问访问结构体的成员 后缀自增 -- 后缀自减自增或自减操作&#xf…

模拟实现字符串库函数(一)

在C语言的标准库中提供了很多针对字符串的库函数&#xff0c;这篇文章我们会学习并模拟实现几个简单的库函数 求字符串长度函数strlen strlen函数我们在之前已经用过很多次了&#xff0c;同时也模拟实现过&#xff0c;但是都不是模仿标准库中的strlen来实现&#xff0c;首先我…

IOS苹果开发者账号封号的规避心得,利用好防关联工具避免APP下架问题

大家好我是咕噜美乐蒂&#xff0c;很高兴又和大家见面了&#xff01; 当涉及到避免 iOS 苹果开发者账号封号以及利用防关联工具来规避应用下架问题时&#xff0c;有一些具体的操作和注意事项可以帮助你更好地管理你的开发者账号和应用。 避免账号封号的规避心得&#xff1a; …

编程界的万能钥匙:揭秘程序员常用的超实用算法!

程序员常用的算法 引言一、排序算法&#xff1a;为数据秩序井然二、搜索算法&#xff1a;高效定位数据三、图算法&#xff1a;理解复杂网络结构四、动态规划&#xff1a;优化递归求解过程五、贪心算法&#xff1a;简单高效的局部最优解六、数据结构相关算法&#xff1a;必不可少…

2024-03-24 思考-MBTI-简要记录

摘要: 2024-03-24 思考-MBTI-简要记录 MBTI16型人格: MBTI16型人格在人格研究和评价中得到了广泛的应用。MBTI是一种基于瑞士心理学家荣格在理论基础上发展起来的人格分类工具。为了准确判断个人的心态偏好&#xff0c;将每个人分为16种不同的人格类型。这种分类方法不仅为我们…

Red and Black (DFS BFS)

//新生训练 #include <iostream> #include <algorithm> #include <bits/stdc.h> using namespace std; int a, b, sum; char c[20][20]; void dfs(int x, int y) {c[x][y] #;if (x - 1 > 0 && c[x - 1][y] .){sum;dfs(x - 1, y);}if (x 1 <…

vue2 脚手架

安装 文档&#xff1a;https://cli.vuejs.org/zh/ 第一步&#xff1a;全局安装&#xff08;仅第一次执行&#xff09; npm install -g vue/cli 或 yarn global add vue/cli 备注&#xff1a;如果出现下载缓慢&#xff1a;请配置npm 淘宝镜像&#xff1a; npm config set regis…

使用 STL 容器发生异常的常见原因分析与总结

目录 1、概述 2、使用STL列表中的元素越界 3、遍历STL列表删除元素时对迭代器自加处理有问题引发越界 4、更隐蔽的遍历STL列表删除元素时引发越界的场景 5、多线程同时操作STL列表时没有加锁导致冲突 6、对包含STL列表对象的结构体进行memset操作导致STL列表对象内存出异…

python之(19)CPU性能分析常见工具

Python之(19)CPU性能分析常见工具 Author: Once Day Date: 2024年3月24日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏:Python开发_Once-Day的博客…

深度学习 tablent表格识别实践记录

下载代码&#xff1a;https://github.com/asagar60/TableNet-pytorch 下载模型&#xff1a;https://drive.usercontent.google.com/download?id13eDDMHbxHaeBbkIsQ7RSgyaf6DSx9io1&exportdownload&confirmt&uuid1bf2e85f-5a4f-4ce8-976c-395d865a3c37 原理&#…

查看文件内容的指令:cat,tac,nl,more,less,head,tail,写入文件:echo

目录 cat 介绍 输入重定向 选项 -b -n -s tac 介绍 输入重定向 nl 介绍 示例 more 介绍 选项 less 介绍 搜索文本 选项 head 介绍 示例 选项 -n tail 介绍 示例 选项 echo 介绍 输出重定向 追加重定向 cat 介绍 将标准输入(键盘输入)的内容打…

pta L1-077 大笨钟的心情

L1-077 大笨钟的心情 分数 15 退出全屏 作者 陈越 单位 浙江大学 有网友问&#xff1a;未来还会有更多大笨钟题吗&#xff1f;笨钟回复说&#xff1a;看心情…… 本题就请你替大笨钟写一个程序&#xff0c;根据心情自动输出回答。 输入格式&#xff1a; 输入在一行中给出…

ns3使用cppyy load_library报错

报错&#xff1a; File "/bake/source/ns-3.37/build/bindings/python/ns/__init__.py", line 353, in load_modulescppyy.load_library(library)File "/usr/local/lib/python3.8/dist-packages/cppyy/__init__.py", line 235, in load_librarysc gSystem…

【ZYNQ】基于ZYNQ 7020的OPENCV源码交叉编译

目录 安装准备 检查编译器 安装OpenCV编译的依赖项 下载OpenCV源码 下载CMake 编译配置 编译器说明 参考链接 安装准备 使用的各个程序的版本内容如下&#xff1a; 类别 软件名称 软件版本 虚拟机 VMware VMware-workstation-full-15.5.0-14665864 操作系统 Ub…

线性表的合并之求解一般集合的并集问题(单链表)

目录 1问题描述&#xff1a; 2问题分析&#xff1a; 3代码如下&#xff1a; 4运行结果&#xff1a; 1问题描述&#xff1a; 已知两个集合A和B&#xff0c;现要求一个新的集合AAuB。例如&#xff0c;设 A&#xff08;7&#xff0c;5&#xff0c;3&#xff0c;11&#xff09;…

go 基础中的一些坑(2)

类型转换 在 go 语言中&#xff0c;类型转换是显式的&#xff0c;不会自动转换 go 复制代码 func main(){ i : 100 var f float64 f float64(i) } string 转换成 int 需要借助 strconv 包 使用 strconv.Atoi 函数将 string 转换成 int&#xff0c;转换后它会输出两个值&…