2011-04-07 208 views
0

當談到製作Android動態壁紙時,究竟需要什麼東西。到目前爲止,我可以像WallpaperService.Engine,SurfaceView一樣,除了這一個PNG drawable(我認爲這可能是可選的,如果我使用paint),Android.manifest和xml/string.xml中的一些主要更改。Android動態壁紙指導

還要什麼,我需要開發用於動畫發生完全不同的邏輯是什麼?它總是與數學計算?我非常熱衷於製作不同類型的動態壁紙。但我認爲我沒有走上正軌。

請給我建議一些出路向正確的方向總結我所需要的,以便我可以製作任何類型的動態壁紙。

有人可以請總結一下所有需要對實況牆紙。

在此先感謝。

回答

0

是的,你需要使用動態壁紙比Android的「正常」的動畫不同的方法。標準方法是製作一個可重新繪製到畫布上的自行重新計劃。

在回答您的具體問題之一:不,你並不需要限制自己的數學計算;你可以選擇使用位圖/精靈,但你需要自己動畫。

開始你的最好的地方是在SDK中的資源:
http://developer.android.com/resources/articles/live-wallpapers.html
http://developer.android.com/resources/samples/CubeLiveWallpaper/index.html

+0

謝謝喬治我會研究它並會回覆你。 – 2011-04-08 04:14:10

+0

我是否需要了解有關opengl還可用於製作活動牆紙? – 2011-04-10 08:06:24

+0

大多數壁紙不使用Open GL,但您可能希望在某個時候使用它。看看這裏,如果你有興趣:https://github.com/markfguerra/GLWallpaperService – 2011-04-10 14:34:37

1

嗨,如果你有圖片的路徑,你可以使用此代碼。

is = new FileInputStream(new File(imagePath)); 
bis = new BufferedInputStream(is); 
Bitmap bitmap = BitmapFactory.decodeStream(bis); 
Bitmap useThisBitmap = Bitmap.createScaledBitmap(
bitmap, parent.getWidth(), parent.getHeight(), true); 
bitmap.recycle(); 
if(imagePath!=null){ 
System.out.println("Hi I am try to open Bit map"); 
wallpaperManager = WallpaperManager.getInstance(this); 
wallpaperDrawable = wallpaperManager.getDrawable(); 
wallpaperManager.setBitmap(useThisBitmap); 

............................................ ......如果你有圖像的URI然後用這個

wallpaperManager = WallpaperManager.getInstance(this); 
wallpaperDrawable = wallpaperManager.getDrawable(); 
mImageView.setImageURI(imagepath); 

..............讓我知道是否有任何問題。

+0

indent code 4格式化空格 - 請參閱'{}'按鈕和[Markdown編輯幫助](http://stackoverflow.com/editing-help) – McDowell 2011-05-18 10:41:51

+0

對不起。我不理解你。 – Maidul 2011-05-20 09:10:41

+0

@Md Maidul伊斯蘭教:我很抱歉這麼晚迴應這個帖子。但是你上面提供的代碼基本上是它所做的就是它通過流式傳輸作爲第一部分或通過任何靜態可繪製來獲取任何圖像。然後將其設置爲壁紙背景排序的東西吧?我還沒有嘗試過,但如果它有效,那麼它是有幫助的,但是我究竟在尋找的是動態變化的場景,例如桌面上的動畫牆紙。 – 2011-07-17 18:10:23