Example
- Declare two receivers in a manifest file:
<receiver
android:name=".UVMateWidget"
android:label="UVMate Widget 1x1">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_1x1" />
</receiver>
<receiver
android:name=".UVMateWidget2x2"
android:label="UVMate Widget 2x2">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_2x2" />
</receiver>
- Create two layouts
@xml/widget_1x1
@xml/widget_2x2
- Declare the subclass
UVMateWidget2x2
from the UVMateWidget
class with extended behavior:
package au.com.aershov.uvmate;
import android.content.Context;
import android.widget.RemoteViews;
public class UVMateWidget2x2 extends UVMateWidget {
public RemoteViews getRemoteViews(Context context, int minWidth,
int minHeight) {
mUVMateHelper.saveWidgetSize(mContext.getString(R.string.app_ws_2x2));
return new RemoteViews(context.getPackageName(), R.layout.widget_2x2);
}
}