1. 添加AppWidgetProvider 实际上就是个带有界面的BroadcastReceiver
public class SimpleWidgetProvider extends AppWidgetProvider { }
2. 在res -> xml 下添加AppWidgetProviderInfo
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="120dp"
android:minHeight="60dp"
android:updatePeriodMillis="1800000"
android:initialLayout="@layout/hoem_widget"
android:resizeMode="horizontal|vertical"
android:widgetCategory="home_screen|keyguard"
android:previewImage="@drawable/ic_launcher">
</appwidget-provider>
3. 添加桌面widget的layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/accent_normal">
<ImageView
android:id="@+id/doge_imageView"
android:layout_width="110dp"
android:layout_height="110dp"
android:src="@drawable/ic_clear_white_24dp" />
</LinearLayout>
4. 注册
<receiver android:name=".SimpleWidgetProvider" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="com.seewo.homewidgets.action.CLICK" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/appwidget_provider_info" />
</receiver>
5. 运行后,长按桌面空白处,在底部的桌面小部件列表中将自定义的部件拖到桌面