Android自定义动态壁纸,Android自定义动态壁纸开发详解

看到有些手机酷炫的动态壁纸,有没有好奇过他们是如何实现的,其实我们自己也可以实现。

一、动态壁纸原理

如果你了解使用过SurfaceView的话,那么开发一款动态壁纸对你来说其实非常简单。

动态壁纸的本质其实就是一个服务在维护一个动态壁纸引擎Engine,所以我们看到的动态效果其实是通过这个引擎画出来的。而维护这个引擎的服务,就是WallpaperService。本篇文章并不讨论内部实现原理,只是让大家知道如何去实现动态壁纸,所以就不详细说了。

二、实现动态壁纸

大体上可分为三个步骤:

创建自定义WallpaperService继承WallpaperService

在Manifest中注册该Service并添加相关属性

创建所需要的xml文件

1.创建自定义WallpaperService

public class MyLwp extends WallpaperService {

@Override

public Engine onCreateEngine() {

return new MyEngine();

}

class MyEngine extends Engine{

@Override

public SurfaceHolder getSurfaceHolder() {

return super.getSurfaceHolder();

}

@Override

public void onCreate(SurfaceHolder surfaceHolder) {

super.onCreate(surfaceHolder);

}

@Override

public void onDestroy() {

super.onDestroy();

}

@Override

public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) {

super.onSurfaceChanged(holder, format, width, height);

}

@Override

public void onSurfaceCreated(SurfaceHolder holder) {

super.onSurfaceCreated(holder);

}

@Override

public void onSurfaceDestroyed(SurfaceHolder holder) {

super.onSurfaceDestroyed(holder);

}

}

}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部