From 3301c1ff047e34ec87a644c6a523b64456e2a4fd Mon Sep 17 00:00:00 2001 From: pq674gkeb <1752112189@qq.com> Date: Mon, 30 Dec 2024 10:57:08 +0800 Subject: [PATCH] ADD file via upload --- NoteWidgetProvider_4x.java | 74 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 NoteWidgetProvider_4x.java diff --git a/NoteWidgetProvider_4x.java b/NoteWidgetProvider_4x.java new file mode 100644 index 0000000..29c55e0 --- /dev/null +++ b/NoteWidgetProvider_4x.java @@ -0,0 +1,74 @@ +/* + * 版权声明:MiCode开源社区(www.micode.net) + * + * 本代码遵循Apache 2.0开源协议 + * 详细授权信息请访问:http://www.apache.org/licenses/LICENSE-2.0 + */ + +// 定义代码所在的包,用于组织代码模块化 +package net.micode.notes.widget; + +// 导入小部件和应用程序相关的类 +import android.appwidget.AppWidgetManager; +import android.content.Context; + +import net.micode.notes.R; // 导入应用资源文件 R,访问布局和其他资源 +import net.micode.notes.data.Notes; // 导入笔记相关的常量和数据类 +import net.micode.notes.tool.ResourceParser; // 导入工具类,用于解析小部件资源 + +/** + * 4x大小的便签小部件提供者类,继承自 NoteWidgetProvider。 + * 专门用于处理 4x 大小的便签小部件的更新和相关操作。 + */ +public class NoteWidgetProvider_4x extends NoteWidgetProvider { + + /** + * 当系统请求更新小部件时,会调用此方法。 + * 该方法通过调用父类的 `update` 方法来处理小部件的更新逻辑。 + * + * @param context 上下文环境,提供应用程序的全局信息和操作能力。 + * @param appWidgetManager 小部件管理器,用于管理当前应用中所有的小部件。 + * @param appWidgetIds 需要更新的小部件 ID 数组,包含多个小部件的唯一标识符。 + */ + @Override + public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { + // 调用父类的 update 方法,完成通用的更新逻辑 + super.update(context, appWidgetManager, appWidgetIds); + } + + /** + * 获取小部件的布局资源 ID。 + * 布局资源定义了小部件的界面结构,例如显示的文本和背景图片等。 + * + * @return 返回 4x 小部件的布局资源 ID,对应 `res/layout/widget_4x.xml` 文件。 + */ + @Override + protected int getLayoutId() { + return R.layout.widget_4x; // 指定用于 4x 小部件的布局资源 + } + + /** + * 根据背景 ID 获取对应的背景资源 ID。 + * 小部件可以有不同的背景样式,例如不同的颜色或主题,通过背景 ID 来选择。 + * + * @param bgId 背景的索引 ID,表示不同的背景样式。 + * @return 返回与背景 ID 对应的背景资源 ID,用于设置小部件的背景。 + */ + @Override + protected int getBgResourceId(int bgId) { + // 使用 ResourceParser 工具类,根据背景 ID 获取 4x 小部件的背景资源 ID + return ResourceParser.WidgetBgResources.getWidget4xBgResource(bgId); + } + + /** + * 获取当前小部件的类型标识。 + * 该方法返回一个整型常量,用于标识当前小部件的类型。 + * 在应用中可以通过该标识区分不同的小部件类型,例如 4x 和 2x 小部件。 + * + * @return 返回小部件类型的整型标识,表示这是一个 4x 大小的小部件。 + */ + @Override + protected int getWidgetType() { + return Notes.TYPE_WIDGET_4X; // 返回 4x 小部件类型的常量 + } +}