ResourceParser类是一个工具类,主要用于解析和管理笔记应用中的各种资源,如背景颜色、字体大小等。它提供了多种静态方法和内部类,使应用能够根据不同的场景和需求获取相应的资源。

1.主要功能:
。定义常量:定义了笔记的背景颜色(如黄色、蓝色、白色等)和字体大小(小、中、大、超大)的常量。
。背景资源管理:通过内部类NoteBgResources、NoteItemBgResources和WidgetBgResources 分别管理笔记编辑界面、笔记列表项和小部件的背景资源。
。默认背景处理:根据用户设置提供默认背景颜色,支持随机背景选项。
。文本外观管理:通过内部类TextAppearanceResources管理不同字体大小的文本外观资源。
2.核心内部类:
。NoteBgResources:管理笔记编辑界面的背景资源。
。NoteItemBgResources:管理笔记列表项的背景资源,区分不同位置的列表项(如第一个、中间、最后一个或单个项)。
WidgetBgResources:管理不同尺寸小部件的背景资源。
。TextAppearanceResources:管理不同字体大小的文本外观资源。
3.核心方法:
。getDefaultBgId():根据用户设置获取默认背景颜色。
。getNoteBgResource():获取笔记编辑界面的背景资源。
。getNoteBgFirstRes()、getNoteBgNormalRes()等:获取笔记列表项不同位置的背景资源。
。getTexAppearanceResource():获取对应字体大小的文本外观资源。

这个类的设计使得应用能够统一管理和获取各种资源,提高了代码的可维护性和可扩展性。
main
1148980035@qq.com 11 months ago
parent db3c7bb49a
commit 9960a1e156

@ -22,24 +22,35 @@ import android.preference.PreferenceManager;
import net.micode.notes.R;
import net.micode.notes.ui.NotesPreferenceActivity;
/**
*
*/
public class ResourceParser {
// 定义笔记的背景颜色常量
public static final int YELLOW = 0;
public static final int BLUE = 1;
public static final int WHITE = 2;
public static final int GREEN = 3;
public static final int RED = 4;
// 默认的背景颜色为黄色
public static final int BG_DEFAULT_COLOR = YELLOW;
// 定义笔记的字体大小常量
public static final int TEXT_SMALL = 0;
public static final int TEXT_MEDIUM = 1;
public static final int TEXT_LARGE = 2;
public static final int TEXT_SUPER = 3;
// 默认的字体大小为中等
public static final int BG_DEFAULT_FONT_SIZE = TEXT_MEDIUM;
/**
*
*/
public static class NoteBgResources {
// 存储笔记编辑界面的背景资源数组
private final static int [] BG_EDIT_RESOURCES = new int [] {
R.drawable.edit_yellow,
R.drawable.edit_blue,
@ -48,6 +59,7 @@ public class ResourceParser {
R.drawable.edit_red
};
// 存储笔记编辑界面标题的背景资源数组
private final static int [] BG_EDIT_TITLE_RESOURCES = new int [] {
R.drawable.edit_title_yellow,
R.drawable.edit_title_blue,
@ -56,25 +68,51 @@ public class ResourceParser {
R.drawable.edit_title_red
};
/**
* ID ID
*
* @param id ID
* @return ID
*/
public static int getNoteBgResource(int id) {
return BG_EDIT_RESOURCES[id];
}
/**
* ID ID
*
* @param id ID
* @return ID
*/
public static int getNoteTitleBgResource(int id) {
return BG_EDIT_TITLE_RESOURCES[id];
}
}
/**
* ID
* ID
* ID
*
* @param context
* @return ID
*/
public static int getDefaultBgId(Context context) {
if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean(
NotesPreferenceActivity.PREFERENCE_SET_BG_COLOR_KEY, false)) {
// 如果开启了随机背景颜色选项,随机生成一个背景颜色 ID
return (int) (Math.random() * NoteBgResources.BG_EDIT_RESOURCES.length);
} else {
// 否则返回默认的背景颜色 ID
return BG_DEFAULT_COLOR;
}
}
/**
*
*/
public static class NoteItemBgResources {
// 存储笔记列表项第一个的背景资源数组
private final static int [] BG_FIRST_RESOURCES = new int [] {
R.drawable.list_yellow_up,
R.drawable.list_blue_up,
@ -83,6 +121,7 @@ public class ResourceParser {
R.drawable.list_red_up
};
// 存储笔记列表项中间的背景资源数组
private final static int [] BG_NORMAL_RESOURCES = new int [] {
R.drawable.list_yellow_middle,
R.drawable.list_blue_middle,
@ -91,6 +130,7 @@ public class ResourceParser {
R.drawable.list_red_middle
};
// 存储笔记列表项最后一个的背景资源数组
private final static int [] BG_LAST_RESOURCES = new int [] {
R.drawable.list_yellow_down,
R.drawable.list_blue_down,
@ -99,6 +139,7 @@ public class ResourceParser {
R.drawable.list_red_down,
};
// 存储笔记列表项单个的背景资源数组
private final static int [] BG_SINGLE_RESOURCES = new int [] {
R.drawable.list_yellow_single,
R.drawable.list_blue_single,
@ -107,28 +148,61 @@ public class ResourceParser {
R.drawable.list_red_single
};
/**
* ID ID
*
* @param id ID
* @return ID
*/
public static int getNoteBgFirstRes(int id) {
return BG_FIRST_RESOURCES[id];
}
/**
* ID ID
*
* @param id ID
* @return ID
*/
public static int getNoteBgLastRes(int id) {
return BG_LAST_RESOURCES[id];
}
/**
* ID ID
*
* @param id ID
* @return ID
*/
public static int getNoteBgSingleRes(int id) {
return BG_SINGLE_RESOURCES[id];
}
/**
* ID ID
*
* @param id ID
* @return ID
*/
public static int getNoteBgNormalRes(int id) {
return BG_NORMAL_RESOURCES[id];
}
/**
* ID
*
* @return ID
*/
public static int getFolderBgRes() {
return R.drawable.list_folder;
}
}
/**
*
*/
public static class WidgetBgResources {
// 存储 2x 小部件的背景资源数组
private final static int [] BG_2X_RESOURCES = new int [] {
R.drawable.widget_2x_yellow,
R.drawable.widget_2x_blue,
@ -137,10 +211,17 @@ public class ResourceParser {
R.drawable.widget_2x_red,
};
/**
* ID 2x ID
*
* @param id ID
* @return ID
*/
public static int getWidget2xBgResource(int id) {
return BG_2X_RESOURCES[id];
}
// 存储 4x 小部件的背景资源数组
private final static int [] BG_4X_RESOURCES = new int [] {
R.drawable.widget_4x_yellow,
R.drawable.widget_4x_blue,
@ -149,12 +230,22 @@ public class ResourceParser {
R.drawable.widget_4x_red
};
/**
* ID 4x ID
*
* @param id ID
* @return ID
*/
public static int getWidget4xBgResource(int id) {
return BG_4X_RESOURCES[id];
}
}
/**
*
*/
public static class TextAppearanceResources {
// 存储文本外观资源数组
private final static int [] TEXTAPPEARANCE_RESOURCES = new int [] {
R.style.TextAppearanceNormal,
R.style.TextAppearanceMedium,
@ -162,6 +253,13 @@ public class ResourceParser {
R.style.TextAppearanceSuper
};
/**
* ID ID
* ID ID
*
* @param id ID
* @return ID
*/
public static int getTexAppearanceResource(int id) {
/**
* HACKME: Fix bug of store the resource id in shared preference.
@ -174,8 +272,13 @@ public class ResourceParser {
return TEXTAPPEARANCE_RESOURCES[id];
}
/**
*
*
* @return
*/
public static int getResourcesSize() {
return TEXTAPPEARANCE_RESOURCES.length;
}
}
}
}
Loading…
Cancel
Save