如何用MoneyWallet搭建自己的分类体系:图标、颜色与层级分类完整定制指南
【免费下载链接】moneywalletAn android application that let you track your expenses项目地址: https://gitcode.com/gh_mirrors/mo/moneywallet
MoneyWallet 是一款免费的开源 Android 记账应用,它的分类体系是记账体验的核心:图标、颜色、父子层级全部可以自由定制。本指南带你从零搭建一套专属分类——选对图标、挑好颜色、理清两级结构,几分钟即可完成。
为什么值得花时间定制分类体系?
分类不只用来归档,它直接决定了你后续所有报表的样子:交易列表的图标、饼图的配色、支出排名的顺序,全都来自你为分类做的选择。一套合理的分类体系能让你在月底复盘时一眼看出钱花在了哪里。
MoneyWallet 的分类体系由三层能力组成:
- 图标:内置矢量图标或自动生成的彩色文字图标
- 颜色:Material 调色盘自由选择,文字颜色自动适配
- 层级:两级父子结构,父分类 + 子分类
第一步:找到分类管理入口
打开应用后,点击左上角 ☰ 菜单,在侧边栏选择Categories(分类),即可看到全部分类列表。点击右下角的+按钮新建分类,或长按现有分类进行编辑。
分类的编辑界面由 NewEditCategoryActivity.java 实现,包含四个核心控件:名称输入框、图标预览区、收入/支出去向单选、父分类选择器。
第二步:为分类选择图标(两种方式)
点击分类名旁边的图标区域,会弹出图标选择菜单。MoneyWallet 提供了两种图标体系:
方式一:从图标库选择矢量图标
点击Select an icon,进入内置图标库。图标资源存放在app/src/main/res/drawable/目录下,涵盖汽车、餐饮、购物、旅行、礼物、加油、医疗等几十种常用生活场景。
矢量图标的好处是辨识度高、不受颜色影响,适合"餐饮""交通"这类特征明显的分类。
方式二:彩色文字图标(自动跟随分类名)
如果你保持默认的彩色圆图标,它会根据分类名称自动生成缩写:取名称前两个单词的首字母并大写。例如:
| 分类名 | 生成图标 |
|---|---|
| Food and drinks | FA |
| Travel | T |
| Salary | S |
这个规则由 IconPicker.java 中的getColorIconString方法实现,并且输入框里改名时图标实时刷新——先想好名字,再微调缩写,体验非常顺手。
💡 小技巧:想换掉矢量图标?再次点击图标选择Remove icon,即可退回彩色文字模式。
第三步:挑选图标背景颜色
在图标菜单中选择Select the color,会弹出 Material Design 调色盘,支持预设色板和自定义取色。
颜色选择后,图标内文字颜色会自动切换为最佳对比色(深色背景配白字、浅色背景配黑字),无需手动调整,这个逻辑在 ColorIcon.java 的getBestColor调用中完成。
配色建议:
- 🔵 同一父分类下的子分类用同一色系的深浅变化
- 🟢 收入类分类统一用绿色系,支出用其他色系
- ⚪ 高频分类(餐饮、交通)用高饱和色,低频分类用低饱和色
颜色信息最终以 JSON 形式存储在分类数据中(type为color时携带color和name字段),随备份文件一起迁移,换机不丢。
第四步:搭建两级父子层级
MoneyWallet 的分类支持两级结构:父分类下挂子分类,但不再支持更深的嵌套。这是数据库层的硬性约束,见 SQLDatabase.java 中的insertCategory校验逻辑:
- 父分类本身不能再是别人的子分类(即最深两级)
- 父分类的类型必须与子分类一致:收入分类只能挂在收入父分类下,支出同理
- 已有子分类的分类不能再被降级为子分类
推荐的搭建思路:
- 先建父分类:如「餐饮」「交通」「娱乐」「房租水电」
- 再建子分类:在「餐饮」下建「早餐」「外卖」「聚餐」,创建时在Parent category选择器中指定父分类
- 最后调顺序:进入Category sort界面拖动排序,报表中的分类顺序随之改变
餐饮(父) ├── 早餐 ├── 外卖 └── 聚餐 交通(父) └── 加油两个隐藏选项,强烈建议设置
① 是否计入报表(Show in report)
编辑界面底部有一个复选框,勾选后该分类才会出现在 Overview 饼图和统计报表中。像「转账」这种不反映真实支出的分类,建议关掉。
② 系统分类只读,但可控制展示
转账、债务、储蓄等系统分类(定义在 SystemCategory.java)不支持修改名称和图标,但可以单独开关它们在报表中的显示。
常见问题速查
| 问题 | 原因与解决 |
|---|---|
| 提示"层级不支持"错误 | 试图把子分类再设为父分类,MoneyWallet 仅支持两级 |
| 选父分类时列表为空 | 类型不匹配:支出子分类只能挂支出父分类 |
| 图标缩写和预期不符 | 缩写取前两个单词首字母,调整名称即可实时改变 |
| 分类顺序和报表不一致 | 进入 Category sort 界面重新拖动排序 |
总结
MoneyWallet 的分类定制遵循一条清晰路径:先命名 → 再选图标 → 后调色 → 最后挂层级。得益于两级结构和自动文字图标,你不需要设计经验,也能在十分钟内搭出一套既美观又实用的分类体系。分类一旦建好,饼图、排名、报表会自动"长"出你定制的样子——这就是分类体系的全部价值。
【免费下载链接】moneywalletAn android application that let you track your expenses项目地址: https://gitcode.com/gh_mirrors/mo/moneywallet
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考