【Android】AppWidget案頭小組件

來源:互聯網
上載者:User

標籤:android   style   http   io   ar   color   使用   sp   strong   


什麼是App Widget?

         AppWidget是應用程式視窗小組件,是微型的應用程式視圖,它可以被嵌入到傳統型應用程式中,並接收周期的更新。

 

如何?AppWidget?

1. 建立一個AppWidget類繼承AppWidgetProvider(AppWidgetProvider繼承BroadcastReceiver),並實現相關生命週期方法。


onUpdate()

當widget更新時被執行。

注意:使用者首次添加widget時,onUpdate()也會被調用。但是如果定義了widget的configure屬性(即android:config),onUpdate()不會被調用,之後更新widget時,onUpdate()才會被調用。


onAppWidgetOptionsChanged()

當widget初次被添加或者當widget的大小被改變時,執行該方法。


onDeleted()

當widget被刪除時執行。


onEnabled()

當第一個widget執行個體被建立時執行。


onDisabled()

當最後一個widget執行個體被刪除執行。


onReceiver()

當接收到廣播時執行。


2.        在資訊清單檔中配置AppWidgetProvice實作類別

        <receiverandroid:name="com.itcast.weibo.ui.WeiboWidget">

                  <intent-filter>

                      <actionandroid:name="android.appwidget.action.APPWIDGET_UPDATE"/>

                  </intent-filter>

                  <meta-dataandroid:name="android.appwidget.provider"

                             android:resource="@xml/weibo_widget"/>

          </receiver>

3.        在res目錄下建立xml檔案夾,建立widget的xml描述檔案

<?xmlversion="1.0"encoding="utf-8"?>

<appwidget-providerxmlns:android="http://schemas.android.com/apk/res/android"

    android:minWidth="300dip"

    android:minHeight="72dip"

    android:updatePeriodMillis="0"

    android:initialLayout="@layout/weibo_widget">

    

</appwidget-provider>

屬性說明:

minWidth和minHeight

指定App Widget布局需要的最小地區

minResizeWidth和minResizeHeight

指定Widget的最小尺寸。

updatePerioMillis

定義widget的更新頻率。

注意:

n  當updatePeriodMillis的值小於30分鐘時,系統會自動將更新頻率設為30鐘。

n  如果需要頻繁更新,或者不希望裝置休眠狀態更新,那麼可以使用基於alarm的更新替代widget自身的重新整理機制。將alarm類型設定為ELAPSED_REALTIME或RTC,將不會喚醒休眠的裝置,同時應將updatePeriodMillis設為0。

initialLayout

     指向widget的布局資源檔

         configure

         可選屬性,定義了widget的配置Activity。如果定義了該項,那麼當widget建立時,會自動啟動該Activity。

         previewImage

  指定預覽圖,該預覽圖在使用者選擇widget時出現,如果沒有提供,則會顯示應用的表徵圖。

 autoAdvanceViewId

 指定一個子View ID,表明該子View會自動更新。

  resizeMode

  指定widget調整尺寸的規則。(可選值:”horizontal”[水平展開], ”vertical”[垂直展開], ”none”[不能展開])

 widgetCategory

  指定widget能顯示的地方,如Home介面、鎖定畫面(可選值:”home_screen”, “keyguard”)

 initialKeyguardLayout

  指向widget位於鎖定畫面的布局資源檔。

 

 

【Android】AppWidget案頭小組件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.