/* * 4x尺寸便签小部件实现类,继承基础小部件提供者,定义4x规格专属属性 * 主要职责包括:指定4x布局、匹配4x背景资源、标识4x部件类型 */ 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; public class NoteWidgetProvider_4x extends NoteWidgetProvider { /** * 小部件更新生命周期回调 * @param context 上下文对象,用于访问系统服务 * @param appWidgetManager 小部件管理器实例 * @param appWidgetIds 需要更新小部件的ID集合 */ @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { // 复用父类通用更新逻辑,保持各尺寸小部件行为一致性 super.update(context, appWidgetManager, appWidgetIds); } /** * 获取4x专属布局资源 * @return 返回4x规格布局文件widget_4x.xml的编译后ID */ @Override protected int getLayoutId() { // 定义4x尺寸特有的UI布局结构 return R.layout.widget_4x; } /** * 转换背景色标识为具体资源 * @param bgId 颜色配置编号(来自数据库存储值) * @return 对应4x尺寸的背景图片资源ID */ @Override protected int getBgResourceId(int bgId) { // 通过资源解析工具获取4x专用背景图 return ResourceParser.WidgetBgResources.getWidget4xBgResource(bgId); } /** * 声明小部件类型标识 * @return 返回系统常量TYPE_WIDGET_4X,用于数据库记录和类型判断 */ @Override protected int getWidgetType() { // 标识当前为4x规格小部件,区别于2x/其他尺寸 return Notes.TYPE_WIDGET_4X; } }