Android Launcher研究(二)-----------Launcher爲什麼物,到底是幹什麼的?

Launcher俗稱HomeScreen,也就是咱們啓動Android手機,第一眼看到的應用程序,而這個應用程序是比較特殊並且任務艱鉅的。java

它負責了咱們除了應用自己操做之外的全部操做,它負責了咱們有幾個桌面,點擊應用圖標啓動應用程序,長時間按桌面出現上下文菜單,android

長時間按桌面的圖標出現垃圾箱,拖動應用圖標從新定位等等,一系列的操做。我將截些圖讓你們更容易理解!app

   

圖1:開機畫面,Laucher的主界面                 圖2:打開抽屜,列出全部咱們的所安裝應用ide

 

圖三:長按圖標,抽屜變成垃圾箱了                        圖四:手指向左滑動進入另外一個桌面this

我就先截這幾個圖讓你們感覺感覺,圖2中咱們列出的全部應用並不包括諸如:Launcher,Widget等應用,是由於咱們咱們列出的應用僅僅是在AndroidManifest.xml配置文件有這樣標記的應用(以下代碼:)spa

  1. <activity android:name=".HomeStyle"  
  2.               android:theme="@android:style/Theme.NoTitleBar"  
  3.                android:label="@string/app_name">  
  4.          <intent-filter>  
  5.              <action android:name="android.intent.action.MAIN" />  
  6.              <category android:name="android.intent.category.LAUNCHER" />  
  7.          </intent-filter>  
  8.      </activity>  

 其中第5,6行是關鍵,有了這兩句,你的應用程序纔會被列出,而Launcher特殊就是這個應用中惟一一個Activity是這樣申明的,以下代碼:.net

  1. <activity  
  2.     android:name="Launcher"  
  3.     android:launchMode="singleTask"  
  4.     android:clearTaskOnLaunch="true"  
  5.     android:stateNotNeeded="true"  
  6.     android:theme="@android:style/Theme.Wallpaper.NoTitleBar"  
  7.     android:screenOrientation="nosensor"  
  8.     android:windowSoftInputMode="stateUnspecified|adjustPan">  
  9.     <intent-filter>  
  10.         <action android:name="android.intent.action.MAIN" />  
  11.         <category android:name="android.intent.category.HOME"/>  
  12.         <category android:name="android.intent.category.DEFAULT" />  
  13.         <category android:name="android.intent.category.MONKEY" />  
  14.     </intent-filter>  
  15. </activity>  

這裏第11行起了做用了,你們看出來Launcher與普通應用程序的區別了嗎,變成Home的時候,當咱們從新安裝一個Launcher的時候,咱們按一下手機的HOME鍵會出現Launcher列表以下圖:code

   

圖5:Launcher列表                                             圖6:傳說中的Launcher2xml

相關文章
相關標籤/搜索