1、定义 AppWidgetProviderInfo:
在 res/xml 文件价当中定义一个名为 example_appwidget_info.xml 的文件:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="xxdp"
android:minHeight="xxdp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/example_appwidget">
</appwidget-provider>
2、定义一个新的布局文件 example_appwidget.xml,为 App Widget 指定样式和布局:
3、创建一个类,ExampleAppWidgetProvider extends AppWidgetProvider,重写 onUpdate、onDeleted、onEnabled、onDisabled、onReceive 方法
4、在 AndroidMenifest.xml 中注册一个 receiver
<receiver android:name="ExampleAppWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/example_widget_info"/>
</receiver>
注意:在第二步定义的新的布局文件,是基于 RemoteView 的,而 RemoteView 不是支持所有 Layout 和 widget 的。RemoteView 支持的布局和控件如下:
布局:
控件: