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.
MINOTES/other/07_210340142.段逸群_代码标注/tool/ResourceParser.java

186 lines
7.7 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.

/*
* Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.micode.notes.tool;
import android.content.Context;
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;// bai
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;// da
public static final int TEXT_SUPER = 3;// chaoda
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,
R.drawable.edit_white,
R.drawable.edit_green,
R.drawable.edit_red
};// 定义私有静态常量G_EDIT_RESOURCES 用于储存图片资源id
private final static int[] BG_EDIT_TITLE_RESOURCES = new int[] {
R.drawable.edit_title_yellow,
R.drawable.edit_title_blue,
R.drawable.edit_title_white,
R.drawable.edit_title_green,
R.drawable.edit_title_red
};// 定义另一个私有静态常量用于储存笔记编辑页面标题背景资源id
public static int getNoteBgResource(int id) {
return BG_EDIT_RESOURCES[id];
}
public static int getNoteTitleBgResource(int id) {
return BG_EDIT_TITLE_RESOURCES[id];
}
}// 初始化编辑页面标题背景资源id
public static int getDefaultBgId(Context context) {// 获取应用配置信息,判断用户是否自定义背景颜色
if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean(
NotesPreferenceActivity.PREFERENCE_SET_BG_COLOR_KEY, false)) {
return (int) (Math.random() * NoteBgResources.BG_EDIT_RESOURCES.length);
} else {
return BG_DEFAULT_COLOR;// 若没有定义,返回默认颜色白色
}
}
public static class NoteItemBgResources {
private final static int[] BG_FIRST_RESOURCES = new int[] { // 定义final整型数组 BG_FIRST_RESOURCES
R.drawable.list_yellow_up, // 黄色背景上边框图案id
R.drawable.list_blue_up, // 蓝色背景上边框图案id
R.drawable.list_white_up, // 白色背景边框图案id
R.drawable.list_green_up, // 绿色背景边框图案id
R.drawable.list_red_up// 红色背景边框图案id
};
private final static int[] BG_NORMAL_RESOURCES = new int[] {
R.drawable.list_yellow_middle, // 黄色背景中间边框图案id
R.drawable.list_blue_middle, // 蓝色背景中间边框图案id
R.drawable.list_white_middle, // 白色背景中间边框图案id
R.drawable.list_green_middle, // 绿色背景中间边框图案id
R.drawable.list_red_middle// 红色背景中间边框图案id
};
private final static int[] BG_LAST_RESOURCES = new int[] {
R.drawable.list_yellow_down, // 黄色背景中下间边框图案id
R.drawable.list_blue_down, // 蓝色背景中下间边框图案id
R.drawable.list_white_down, // 白色背景中下间边框图案id
R.drawable.list_green_down, // 绿色背景中下间边框图案id
R.drawable.list_red_down,// 红色背景中下间边框图案id
};
private final static int[] BG_SINGLE_RESOURCES = new int[] {
R.drawable.list_yellow_single,
R.drawable.list_blue_single,
R.drawable.list_white_single,
R.drawable.list_green_single,
R.drawable.list_red_single
};
public static int getNoteBgFirstRes(int id) {
return BG_FIRST_RESOURCES[id];
}
// 定义getNoteBgFirstRes方法用于返回G_FIRST_RESOURCES[id]
public static int getNoteBgLastRes(int id) {
return BG_LAST_RESOURCES[id];
}
// 定义getNoteBgLastRes方法用于返回 BG_LAST_RESOURCES[id]
public static int getNoteBgSingleRes(int id) {
return BG_SINGLE_RESOURCES[id];
}
// 定义getNoteBgSingleRes方法用于返回BG_SINGLE_RESOURCES[id]
public static int getNoteBgNormalRes(int id) {
return BG_NORMAL_RESOURCES[id];
}
// 定义etNoteBgNormalRes方法用于返回BG_NORMAL_RESOURCES[id]
public static int getFolderBgRes() {
return R.drawable.list_folder;
}// 定义getFolderBgRes方法用于返回 R.drawable.list_folder
}
public static class WidgetBgResources {// 定义静态内部类WidgetBgResources
private final static int[] BG_2X_RESOURCES = new int[] {
R.drawable.widget_2x_yellow,
R.drawable.widget_2x_blue,
R.drawable.widget_2x_white,
R.drawable.widget_2x_green,
R.drawable.widget_2x_red,
};// 管理小部件2x2格式不同颜色资源图片
public static int getWidget2xBgResource(int id) {
return BG_2X_RESOURCES[id];
}
private final static int[] BG_4X_RESOURCES = new int[] {
R.drawable.widget_4x_yellow,
R.drawable.widget_4x_blue,
R.drawable.widget_4x_white,
R.drawable.widget_4x_green,
R.drawable.widget_4x_red
};// 管理小部件4x4格式不同颜色资源图片
public static int getWidget4xBgResource(int id) {
return BG_4X_RESOURCES[id];
}
}
public static class TextAppearanceResources {// 定义TextAppearanceResources 静态内部类
private final static int[] TEXTAPPEARANCE_RESOURCES = new int[] {
R.style.TextAppearanceNormal,
R.style.TextAppearanceMedium,
R.style.TextAppearanceLarge,
R.style.TextAppearanceSuper
};// 分别对应中等,大号,超大的文本外观样式
public static int getTexAppearanceResource(int id) {
/**
* HACKME: Fix bug of store the resource id in shared preference.
* The id may larger than the length of resources, in this case,
* return the {@link ResourceParser#BG_DEFAULT_FONT_SIZE}
*/
if (id >= TEXTAPPEARANCE_RESOURCES.length) {
return BG_DEFAULT_FONT_SIZE;
}
return TEXTAPPEARANCE_RESOURCES[id];
}
public static int getResourcesSize() {
return TEXTAPPEARANCE_RESOURCES.length;
}
}
}