自學動態桌布

2021-08-27 07:23:52 字數 1273 閱讀 4157

什麼話都不多說,直接上主題

最近突發奇想,想學習一下動態桌布,在網上也看了很多的資料,自己也照著寫了乙個小例子,現在把我自己看到的步驟寫一下,記錄下來。

一、動態桌布

它是乙個service,它繼承自wall*****service類,實現了public void oncreate(),public engine oncreateengine(),public void ondestory()方法。

重點來了,第二個方法,public engine oncrreateengine()方法,它返回的是乙個engine引擎(return new ******engine()),現在我們就來看看這個******engine類。

二、******engine類

繼承自wall*****service.engine類,實現了engine中的

public voidoncreate(su***ceholder su***ceholder);//設為可觸碰

public void ondestroy()

public void onvisibilitychanged(boolean visible) //當介面完全被覆蓋(重新顯示的時候)的時候會呼叫此方法

else//如果不可見

public void onsu***cecreated(su***ceholderholder) //重寫onsu***cecreated方法

public void onsu***cechanged(su***ceholder holder, int format, int width,int height)

public oid onsu***cedestoryed(su***ceholderholder)

public void onoffsetchanged(....){}//位移有變化時呼叫該方法

我自己寫了乙個private void draw()方法,在這個方法中進行介面的繪製

需要用到su***ceholder。

三、su***ceholder類

在draw()方法中需要用到,

su***ceholderholder = getsu***ceholder();

canvas = holder.lockcanvas();

canvas.drawcolor(color.white);

......

holder.unlockcanvasandpost(canvas);

mhandler.removecallbacks(mrunnable);

if(mvisible)

修改預設桌布為動態桌布

在frameworks base core res res values目錄找到config.xml檔案,最後一行有定義 null 將其修改為對應的live wall 的啟動component即可,如要把預設桌布設定為2.1自帶的galaxy,這樣寫即可 com.android.wall com.a...

桌布高畫質動態主題大全

本軟體尊重並保護所有使用服務使用者的個人隱私權。為了給您提供更準確 更有個性化的服務,本軟體會按照本隱私權政策的規定使用和披露您的個人資訊。但本軟體將以高度的勤勉 審慎義務對待這些資訊。除本隱私權政策另有規定外,在未徵得您事先許可的情況下,本軟體不會將這些資訊對外披露或向第三方提供。本軟體會不時更新...

桌布 手機桌布

隱私政策 本應用尊重並保護所有使用服務使用者的個人隱私權。為了給您提供更準確 更有個性化的服務,本應用會按照本隱私權政策的規定使用和披露您的個人資訊。但本應用將以高度的勤勉 審慎義務對待這些資訊。除本隱私權政策另有規定外,在未徵得您事先許可的情況下,本應用不會將這些資訊對外披露或向第三方提供。本應用...