android经典动态壁纸,Android动态壁纸解析

news/2025/3/4 4:33:03/

5a5f95f6cd59

anita-austvika-1132037-unsplash.jpg

最近搞了一下Android的动态壁纸,像实现“萤火视频桌面”那样,本来以为很难的,但是了解了一下感觉还是很容易的。

Android壁纸的实现和管理分为三层:

只想了解动态壁纸的看第一个就好了

WallpaperService与Engine

壁纸运行在一个Android服务之中,这个服务的名字叫做WallpaperService。当用户选择了一个壁纸之后,此壁纸所对应的WallpaperService便会启动并开始进行壁纸的绘制工作。Engine是WallpaperService中的一个内部类,实现了壁纸窗口的创建以及Surface的维护工作。这一层次的内容主要体现了壁纸的实现原理。

WallpaperManagerService

这个系统服务用于管理壁纸的运行与切换,并通过WallpaperManager类向外界提供操作壁纸的接口。这一层次主要体现了Android对壁纸的管理方式。

WindowManagerService

用于计算壁纸窗口的Z序、可见性以及为壁纸应用窗口动画。这一层次主要体现了Android对壁纸窗口的管理方式。

实现

首先静态壁纸是很简单的,大概就是如下几种方法,我也没有试过,

使用WallpaperManager的setResource(int ResourceID)方法

使用WallpaperManager的setBitmap(Bitmap bitmap)方法

使用WallpaperManager的setStream


http://www.ppmy.cn/news/376954.html

相关文章

MIL图像处理那些事:MIL图像缓冲区模块(Mbuf)的3个常用功能及例程

提示:本系列文章通过示例详细介绍MIL图像处理的基础知识及相关操作,让给你快速学会使用MIL进行图像处理 文章目录 简介分配一维缓冲区 MbufAlloc1d二维缓冲区 MbufAlloc2d彩色缓冲区 MbufAllocColor释放缓冲区 MbufFree一维子缓冲区 MbufChild1d二维子缓冲区 MbufChild2d彩色子…

python中变量与字符串详解!!

❄️作者介绍:奇妙的大歪❄️ 🎀个人名言:但行前路,不负韶华!🎀 🐽个人简介:云计算网络运维专业人员🐽 前言 初学者经常会遇到的困惑是,看书上或者是听课都懂…

有趣的数学 依靠想象力的微积分

1、无限分割计算圆的面积 考虑将圆切成若干等份,下图为4等份。 下图为8等份。 下图为16等份。 下图为最终想象出来的极限矩形,据此分割为无穷等份的圆拼接为一个矩形。 矩形的面积 r * C / 2。 r为半径,C为周长。 2、夹逼法计算圆周率 借助…

Vue的传值

目录 1. 属性传值 1.1 语法 1.2 属性和数据源同名 2. 反向传值 2.1 属性绑定自定义事件 简单案例: 购物车算总价案例: 2.2 v-model 组件的双向数据绑定 3. 透传(多层组件传值) 3.1 类型透传 3.2 属性穿透 v-bind"…

Droid razr xt910 tegra2 地牢猎人2 dungeon hunter2

前几天搞了很多个版本都没有办法玩起来地牢猎人,要么就是数据包最好还差几十兆就失败,要么就是进去了就跳出来 ,后来终于找到了适合自己版本的,在这里放出来地址,希望也能帮助到其他人。 这个网站有很多版本&#xff…

NVIDIA Jetson TX2安装TensorFlow

本文基于官方文档Installing TensorFlow For Jetson Platform :: NVIDIA Deep Learning Frameworks Documentationhttps://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform/index.html编译安装 TensorFlow 1 (1.15.2) GPU 方法另请…

Nvidia TX2 刷机全过程

TX2刷机 实验室需要用tx2进行基于zed的物体识别及距离检测,但老的tx2版本过低,直接刷机。 最后成功安装Jetpack 4.6.2,自带cuda10.2cudnn8.0的版本(不需要自己安装)。 其中刷机自带的opencv4.1只有基础功能&#xff…

jetson tx2 安装cuda 10.2或者cuda 9全过程

目录 1. 检查cuda2. 提前安装一些必要软件3. 安装jetson使用的cuda和cudnn 基础环境: jetpack 4.4,python3.6, ubuntu18.04 1. 检查cuda 首先检查你是否已经安装cuda。进入/usr/local中,如果发现cuda-x.x的文件夹,则说明已经安装…