Android窗口小部件APP Widget

今天小博老師帶你們瞭解一下Android窗口小部件App Widget。html

App Widget是應用程序窗口小部件,是微型的應用程序視圖。能夠被嵌入到其餘應用程序中並接收週期性的更新。android

AppWidgetProvider繼承自BroadcastReceiver,它能接收widget相關的廣播,例如 widget 的更新、刪除、開啓和禁用等。app

AppWidgetProviderInfo描述一個App Widget元數據,好比App Widget的佈局,更新頻率,以及AppWidgetProvider 類。這個應該在XML裏定義。ide

 默認狀況下(即不設置android:widgetCategory屬性),Android是將widget添加到 home screen 中。
  但在Android 4.2中,若用戶但願 widget 能夠被添加到lock screen中,能夠經過設置 widget 的 android:widgetCategory 屬性包含keyguard來完成。佈局

  當你把 widget 添加到lock screen中時,你可能對它進行定製化操做,以區別於添加到home screen中的狀況。 你可以經過 getAppWidgetOptions() 來進行判斷 widget 是被添加到lock screen中,仍是home screen中。經過 getApplicationOptions() 獲取 Bundle對象,而後讀取 Bundle 的OPTION_APPWIDGET_HOST_CATEGORY值:若值爲 WIDGET_CATEGORY_HOME_SCREEN, 則表示該 widget 被添加到home screen中; 若值爲 WIDGET_CATEGORY_KEYGUARD,則表示該 widget 被添加到lock screen中。code

  另外,你應該爲添加到lock screen中的 widget 單獨使用一個layout,能夠經過 android:initialKeyguardLayout 來指定。而 widget 添加到home screen中的layout則能夠經過 android:initialLayout 來指定。htm

相關文章
相關標籤/搜索