日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android_动态壁纸介绍

發(fā)布時間:2024/6/5 Android 111 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android_动态壁纸介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Android的動態(tài)壁紙主要用到三個類:

android.app.WallpaperManager:這個類主要用于獲取系統(tǒng)壁紙的信息。再寫動態(tài)壁紙的時候用不到。

android.service.wallpaper.WallpaperService:這個類作為服務(wù)在運行,同時負責(zé)產(chǎn)生一個Engine

同時,在此類中有一個必須繼承的方法為:nCreateEngineWallpaperServiceonCreateEngine這個方法比較特殊,虛擬機沒有在WallpaperService里的onCreate方法里調(diào)用,更不用你自己在其它Activity里用startService或者bindService來啟動它是在程序運行之后,由你在桌面上點擊menu->Wallpaper->Live?Wallpapers->確定->你的項目名稱。這個時候虛擬機調(diào)用就會onCreateEngine方法。

還有就是這個Service是什么時候啟動的呢?看Manifest.xml文件就可以看出,在組件<service>里有一個<action?android:name="android.service.wallpaper.WallpaperService"?/>這表明當(dāng)你設(shè)置動態(tài)壁紙時這個Service才啟動。

android.service.wallpaper.WallpaperService.Engine:這個類是WallpaperService的內(nèi)部類,負責(zé)動態(tài)壁紙的各個方面。

介紹這個類里的幾個函數(shù)

onOffsetsChanged():
這個一般在幾個屏幕滑動的時候調(diào)用?而且?當(dāng)你拖動A屏幕向B屏幕過度時?會隨著B屏幕的顯示面積的變大或者變小一直調(diào)用這個方法

onVisibilityChanged()
這個是屏幕顯示或者不顯示的時候調(diào)用的?必須完全覆蓋屏幕才會調(diào)用

onCommand()
可以給壁紙發(fā)送一些命令?讓其執(zhí)行

onTouchEvent()
處理壁紙的點擊時間的

setTouchEventsEnabled(true)
作用是使壁紙能響應(yīng)touch?event,默認是false?

Engine的生命周期與大多數(shù)Android應(yīng)用程序組件,比如activity類似,都是從onCreate()開始,在銷毀時調(diào)用onDestory()方法。不同的是WallpaperService會提供一個surface用來繪制壁紙,所以在生命周期中多一個onSurfaceCreatedonSurfaceDestroyed的過程。下面是一個最簡生命周期:

這是AndroidManifest.xml文件中的一個配置信息,這個地方很重要。

????

<applicationandroid:icon="@drawable/ic_launcher"android:label="@string/app_name" ><serviceandroid:label="@string/app_name"android:name=".TimeWall"android:permission="android.permission.BIND_WALLPAPER" ><intent-filter ><action android:name="android.service.wallpaper.WallpaperService" /></intent-filter><meta-dataandroid:name="android.service.wallpaper"android:resource="@xml/alive_wall" /></service></application>

?

<service>?定義了一個,將運行在背景上并且對事件有響應(yīng)的Android服務(wù)。android:permission="android.permission.BIND_WALLPAPER"?意思是任何程 ? ? 序調(diào)用我們的服務(wù)都需要有一個指定的權(quán)限。Android的Home程序已經(jīng)具備了該權(quán)限,所以它會工作得很好。

?

< intent-?lter >這個標(biāo)簽告訴Android它是個什么樣的服務(wù)。

< meta-data>標(biāo)簽讓它知道在哪能找到關(guān)于wallpaper的額外信息。android:resource被設(shè)為"@xml/wallpaper"(名字任意,但得對應(yīng)上),這個值最好設(shè)置在res/xml/wallpaper.xml ? ? 文件

現(xiàn)附上源代碼,里面有詳細解釋供大家參考!?(下載地址復(fù)制到地址欄里有效,單純的點擊不會跳到鏈接)

csdn零分下載:http://download.csdn.net/detail/zqiang_55/4604044

大家感覺文章不錯,就幫忙頂下應(yīng)用:http://www.talkphone.cn/Down/Soft/Detail/49172_0.html

轉(zhuǎn)載于:https://www.cnblogs.com/wuyida/archive/2011/12/15/6300653.html

總結(jié)

以上是生活随笔為你收集整理的Android_动态壁纸介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。