|
|
/*
|
|
|
* 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;
|
|
|
}
|
|
|
} |