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