我使用了下面的代码。
在我的清单文件中。
<receiver android:name=".ButtonWidget" android:label="@string/app_name">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<!-- Broadcast Receiver that will also process our self created action -->
<action android:name="<package name>.android.widget.buttons.ButtonWidget.ACTION_WIDGET_RECEIVER"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget" />
</receiver>
在我的xml
文件夹appwidget
文件中。
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:minHeight="40dp"
android:minWidth="40dp"
android:updatePeriodMillis="0"
android:initialLayout="@layout/widget_layout"
>
</appwidget-provider>
下面是我的widget_layout
文件。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="40dp"
android:layout_height="40dp"
android:gravity="center"
android:orientation="horizontal"
>
<Button
android:id="@+id/widget_ibtn_onoff"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:background="@drawable/widget"
android:layout_weight="1"
/>
</LinearLayout>
drawable
widget
尺寸如下。
drawable-hdpi - 60px
drawable-ldpi - 30px
drawable-mdpi - 40px
drawable-xhdpi - 80px
在我的银河系中,如下图所示。
谢谢吉里什