You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5._Open-source-software-rea.../NoteWidgetProvider_4x.java

75 lines
3.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
* 版权声明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 小部件类型的常量
}
}