package net.micode.notes.widget; import android.appwidget.AppWidgetManager; import android.content.Context; import net.micode.notes.R; import net.micode.notes.data.Notes; import net.micode.notes.tool.ResourceParser; /** * 2x尺寸笔记桌面小部件提供者 * 负责管理和更新2x大小的笔记小部件,继承自NoteWidgetProvider基类 */ public class NoteWidgetProvider_2x extends NoteWidgetProvider { /** * 小部件更新回调方法 * 当小部件需要更新时调用,如首次添加到桌面或定期更新时 * @param context 应用上下文 * @param appWidgetManager 小部件管理器 * @param appWidgetIds 需要更新的小部件ID数组 */ @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { // 调用父类的更新方法处理小部件更新逻辑 super.update(context, appWidgetManager, appWidgetIds); } /** * 获取小部件布局资源ID * @return 2x小部件的布局资源ID */ @Override protected int getLayoutId() { return R.layout.widget_2x; } /** * 根据背景颜色ID获取对应的背景资源ID * @param bgId 背景颜色ID,定义在ResourceParser中 * @return 对应的背景资源ID */ @Override protected int getBgResourceId(int bgId) { // 从资源解析器获取2x小部件的背景资源 return ResourceParser.WidgetBgResources.getWidget2xBgResource(bgId); } /** * 获取小部件类型 * @return 小部件类型常量,用于标识2x尺寸的小部件 */ @Override protected int getWidgetType() { return Notes.TYPE_WIDGET_2X; } }