Android自定义动态壁纸,Android自定义动态壁纸开发详解
看到有些手機(jī)酷炫的動(dòng)態(tài)壁紙,有沒(méi)有好奇過(guò)他們是如何實(shí)現(xiàn)的,其實(shí)我們自己也可以實(shí)現(xiàn)。
一、動(dòng)態(tài)壁紙?jiān)?/p>
如果你了解使用過(guò)SurfaceView的話(huà),那么開(kāi)發(fā)一款動(dòng)態(tài)壁紙對(duì)你來(lái)說(shuō)其實(shí)非常簡(jiǎn)單。
動(dòng)態(tài)壁紙的本質(zhì)其實(shí)就是一個(gè)服務(wù)在維護(hù)一個(gè)動(dòng)態(tài)壁紙引擎Engine,所以我們看到的動(dòng)態(tài)效果其實(shí)是通過(guò)這個(gè)引擎畫(huà)出來(lái)的。而維護(hù)這個(gè)引擎的服務(wù),就是WallpaperService。本篇文章并不討論內(nèi)部實(shí)現(xiàn)原理,只是讓大家知道如何去實(shí)現(xiàn)動(dòng)態(tài)壁紙,所以就不詳細(xì)說(shuō)了。
二、實(shí)現(xiàn)動(dòng)態(tài)壁紙
大體上可分為三個(gè)步驟:
創(chuàng)建自定義WallpaperService繼承WallpaperService
在Manifest中注冊(cè)該Service并添加相關(guān)屬性
創(chuàng)建所需要的xml文件
1.創(chuàng)建自定義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);
}
}
}
總結(jié)
以上是生活随笔為你收集整理的Android自定义动态壁纸,Android自定义动态壁纸开发详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 新手怎样开水果店 其实很简单只要多学习
- 下一篇: android studio 动画效果图