Android 动态壁纸
WallpaperService
继承关系
- java.lang.Object
- ↳android.content.Context
- ↳android.content.ContextWrapper
- ↳android.app.Service
- ↳android.service.wallpaper.WallpaperService
- ↳android.app.Service
- ↳android.content.ContextWrapper
- ↳android.content.Context
概述
这是一个用于显示动态壁纸的Wallpaper Service。这个Service本身做的事情很少,它仅仅是在需要的时候创建一个WallpaperService.Engine对象而已。因此,当需要自定义动态壁纸的时候,我们需要创建一个Wallpaper Service的子类,同时重写包含在WallpaperService其中的Engine子类的onCreateEngine()方法。
方法
内部类
类型 | 方法名 | 介绍 |
---|---|---|
class | WallpaperService.Engine | The actual implementation of a wallpaper.真正实现动态壁纸渲染的功能类 |
公有方法
类型 | 方法名 | 介绍 |
---|---|---|
final IBinder | onBind(Intent intent) | Implement to return the implementation of the internal accessibility service interface.提供接口供用户使用 |
void | onCreate() | 开始创建的时候被调用 |
abstact WallpaperService.Engine | onCreateEngine() | 当需要返回一个新的WallpaperService.Engine对象的时候被调用 |
void | onDestory() | 当不被使用的时候将会被调用。 |
保护方法
类型 | 方法名 | 介绍 |
---|---|---|
void | dump(FileDescriptor fd,PrintWriter out,String[] args) | 向流中写入WallpaperService的状态 |
WallpaperService.Engine
继承关系
- java.lang.Object
- ↳android.service.wallpaper.WallpaperService.Engine
概述
动态壁纸的渲染实现主要靠这个内部类来实现。一个动态壁纸服务(Wallpaper Service)需要考虑多个对象(instances)同时运行的情况(例如:该动态壁纸正在应用且用户在动态壁纸设置中预览该动态壁纸)。因此,你需要使用onCreateEngine()来返回明确的具体的Engine对象。
方法
公有类
类型 | 方法名 | 介绍 |
---|---|---|
int | getDesiredminimunHeight() | 返回壁纸需要的最小高度,假如返回的值小于等于0,就返回默认显示的高度 |
int | getDesiredminimunWidth() | 返回壁纸需要的最小宽度,假如返回的值小于等于0,就返回默认显示的宽度 |
SurfaceHolder | getSurfaceHolder() | 可以在Wallpaper渲染时候进行一系列设置,如设置样式、设置宽高、设置透明度、保持屏幕常亮、锁定画布、解锁画布等等。 |
boolean | isPreview() | 当处于预览界面的时候,返回true。 |
boolean | isVisible() | 返回当前动态壁纸的状态。可视为真,不可视为假 |
Bundle | onCommand(String action,int x,int y,int z,Bundle extras,boolean resultRequested) | 执行发送到Wallpaper的指令(Command),默认返回null。 |
void | onCreate(SurfaceHolder surfaceHolder) | 当刚创建Engine的时候被调用 |
void | onDesiredSizeChanged(int desiredWidth,int desireHeight) | 当要求的宽高变化的时候被调用。 |
void | onDestroy() | 当Engine被销毁的时候被调用。 |
void | onOffsetsChanged(float xOffsets,float yOffsets,float xOffsetStep,float yOffsetStep,int xPixelOffset,int yPixelOffset) | 提供页面容器中的wallpaper的偏移量变化参数。 |
void | onSurfaceChanged(SurfaceHolder holder,int format,int width,int height) | 当SurfaceHolder的宽高发生变化的时候被调用。 |
void | onSurfaceCreated(SurfaceHolder surfaceHolder) | Surface被创建的时候被调用。 |
void | surfaceDestroyed(SurfaceHolder surfaceHolder) | Surface被销毁的时候被调用。 |
void | onSurfaceRedrawNeeded() | 当需要重新绘制Surface的时候被调用。 |
void | onTouchEvent() | 当有点击事件发生的时候被调用。 |
void | onVisibility() | 当从可视状态变为隐藏状态,或者隐藏状态变为可视状态的时候被调用。 |
void | setOffsetNotificationsEnabled() | 是否接收wallpaper的偏移通知。 |
void | setTouchEventsEnabled() | 是否接收点击事件 |
保护类
类型 | 方法名 | 介绍 |
---|---|---|
void | dump(String prefix,FileDescriptor fd,PrintWriter out,String[] args) | 向流中写入WallpaperService的状态 |
附录
- GURU - Android Live wallpaper Tutorial
Android 动态壁纸相关推荐
- android 动态壁纸开发
转:http://www.eoeandroid.com/thread-100389-1-1.html android 动态壁纸开发 参考:http://www.ophonesdn.com/articl ...
- 制作android动态壁纸,如何使用LibGDx制作Android动态壁纸?
我想制作 Android动态壁纸.我想使用LibGDx.我发现了这个信息: http://www.badlogicgames.com/wordpress/?p=2652 不幸的是,我的壁纸复制代码,e ...
- android动态壁纸的制作
对于Android 2.1来说Live Wallpapers动态壁纸的加入为Android桌面加入了更好的动态效果.如何开发一个Android动态桌面呢? 下面Android123给大家一个详细的步骤 ...
- Android动态壁纸解析
转载自 Yalin Jin的文章:http://www.kinglloy.com/ MENU Android动态壁纸解析 24 JULY 2017 阅读之前 建议下载使用Style动态壁纸应用 文章后 ...
- Android 动态壁纸开发(时钟)
Android 动态壁纸开发(时钟) 这是我人生第一篇文章,希望大家不喜无喷啊!有兴趣的可以看看玩,因为语言组织能力有限,就废话不多说直接进入重点! 先看效果 上图是动态壁纸钟的一个时钟. 我们先来看 ...
- Android 动态壁纸引擎试刀学习(初识安卓引擎)
动态壁纸蛮好玩的,也没接触过,看官方有就拿了学习下,是小马第一次接触引擎Engine,激动兴奋...效果做出来了,就放博客里,记录笔记,吼吼,跟大家交流学习, 废话不多说了,先看效果,再看源码,之后小 ...
- android水波效果,android动态壁纸中的水波纹效果
[实例简介] android动态壁纸中的水波纹效果,采用opengl中的shader实现 [实例截图] [核心代码] @Override public String getVertexShader() ...
- LibGDX制作android动态壁纸
一.还是像普通的android动态壁纸一样,创建一个没有activity的安卓工程TestLibGDXWallpaper 二.AndroidManifest.xml配置 <application ...
- android 动态壁纸
引用:http://www.ophonesdn.com/article/show/278 http://developer.android.com/resources/samples/CubeLive ...
- android动态壁纸提取,[图]大神已提取出一加8T的动态壁纸:Android 8.0+设备均可使用...
原标题:[图]大神已提取出一加8T的动态壁纸:Android 8.0+设备均可使用 在过去数周时间里,不断有一加8T的信息在网络上被曝光.在官方的预热和爆料人士分享的细节下,一加8T基本上已经浮出水面 ...
最新文章
- xcode 自带的git工具创建项目流程
- 框架画Button的入口
- VRP网络操作系统简介
- react 父子组件之间相互传值
- Hyper-V Windows 8.1 Windows Server 2012 R2 QA
- 调和方程(拉普拉斯方程)基本解和边界元方法的积分计算
- 在linux 命令行下从http下载东西
- 医药箱APP静态小项目
- TI公司CC系列的各种芯片的区别 CC2430 CC1100
- python+gdal+numpy实现影像uint16转uint8
- 工控行业什么时候用c语言,工控工程师需要掌握的知识
- Android persistent机制
- matlab基础学习——基础数学函数(持续更新)
- 云原生 - 自建数据库与云数据库RDS性能优势分析,值不值得购买?
- 在IDEA中解决jar包冲突的神操作-必看
- 模糊查询的hql语句_hql语句拼接模糊查询
- Java与Unix时间戳的相互转换
- 【决策树算法】泰坦尼克号乘客生存预测
- mysql 表 视图 索引吗_Mysql多表查询, 视图,事务,索引,函数,go连接数据库
- 多媒体嵌入及css高级应用
热门文章
- IDEA HTML 动态访问本地图片加载失败
- a5松下驱动器参数设置表_松下伺服驱动器参数设置MSD043A1X
- “声波识别”可用于购物
- Maven中的dependencyManagement
- 防163网易邮箱登录界面html,网易邮箱163,网易邮箱163登录界面
- wps word文档生成目录的时候显示断裂会生成大纲怎么办_橙瓜码字小说自动生成器,对话描写,景物描写,外貌描写自动生成...
- Anaconda下载速度慢
- MySQL技术内幕 InnoDB存储引擎 第2版 下载
- 怎么自学java_菜鸟如何自学Java
- java开发微信支付接口_JAVA微信支付接口开发——支付