什麼話都不多說,直接上主題
最近突發奇想,想學習一下動態桌布,在網上也看了很多的資料,自己也照著寫了乙個小例子,現在把我自己看到的步驟寫一下,記錄下來。
一、動態桌布
它是乙個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...
桌布高畫質動態主題大全
本軟體尊重並保護所有使用服務使用者的個人隱私權。為了給您提供更準確 更有個性化的服務,本軟體會按照本隱私權政策的規定使用和披露您的個人資訊。但本軟體將以高度的勤勉 審慎義務對待這些資訊。除本隱私權政策另有規定外,在未徵得您事先許可的情況下,本軟體不會將這些資訊對外披露或向第三方提供。本軟體會不時更新...
桌布 手機桌布
隱私政策 本應用尊重並保護所有使用服務使用者的個人隱私權。為了給您提供更準確 更有個性化的服務,本應用會按照本隱私權政策的規定使用和披露您的個人資訊。但本應用將以高度的勤勉 審慎義務對待這些資訊。除本隱私權政策另有規定外,在未徵得您事先許可的情況下,本應用不會將這些資訊對外披露或向第三方提供。本應用...