news 2026/8/24 11:13:13

如何用MoneyWallet搭建自己的分类体系:图标、颜色与层级分类完整定制指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用MoneyWallet搭建自己的分类体系:图标、颜色与层级分类完整定制指南

如何用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 drinksFA
TravelT
SalaryS

这个规则由 IconPicker.java 中的getColorIconString方法实现,并且输入框里改名时图标实时刷新——先想好名字,再微调缩写,体验非常顺手。

💡 小技巧:想换掉矢量图标?再次点击图标选择Remove icon,即可退回彩色文字模式。

第三步:挑选图标背景颜色

在图标菜单中选择Select the color,会弹出 Material Design 调色盘,支持预设色板和自定义取色。

颜色选择后,图标内文字颜色会自动切换为最佳对比色(深色背景配白字、浅色背景配黑字),无需手动调整,这个逻辑在 ColorIcon.java 的getBestColor调用中完成。

配色建议:

  • 🔵 同一父分类下的子分类用同一色系的深浅变化
  • 🟢 收入类分类统一用绿色系,支出用其他色系
  • ⚪ 高频分类(餐饮、交通)用高饱和色,低频分类用低饱和色

颜色信息最终以 JSON 形式存储在分类数据中(typecolor时携带colorname字段),随备份文件一起迁移,换机不丢。

第四步:搭建两级父子层级

MoneyWallet 的分类支持两级结构:父分类下挂子分类,但不再支持更深的嵌套。这是数据库层的硬性约束,见 SQLDatabase.java 中的insertCategory校验逻辑:

  • 父分类本身不能再是别人的子分类(即最深两级)
  • 父分类的类型必须与子分类一致:收入分类只能挂在收入父分类下,支出同理
  • 已有子分类的分类不能再被降级为子分类

推荐的搭建思路:

  1. 先建父分类:如「餐饮」「交通」「娱乐」「房租水电」
  2. 再建子分类:在「餐饮」下建「早餐」「外卖」「聚餐」,创建时在Parent category选择器中指定父分类
  3. 最后调顺序:进入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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 11:11:17

SpringBoot高校食堂点餐系统:从零搭建完整项目实战指南

这次我们来看一个基于SpringBoot的高校食堂自助点餐系统。对于计算机专业的学生或者刚入行的开发者来说,毕业设计和课程项目选什么是个难题。这个项目直接瞄准了高校食堂这个高频、刚需的场景,用SpringBoot这套主流技术栈来实现,既有明确的业…

作者头像 李华
网站建设 2026/8/24 11:09:40

Claude Mythos 5赋能网络安全:从日志分析到应急响应的AI辅助实践

1. Claude Mythos 5 在网络安全里到底能做什么 如果你负责安全运维、威胁分析或者应急响应,看到“最强模型投入网络防御”这种标题,第一反应可能是:这又是一个营销概念,还是真能解决实际问题? 我的看法是,…

作者头像 李华
网站建设 2026/8/24 11:09:12

微信 macOS 版能防撤回、多开吗?WeChatTweak 三条命令实测

微信 macOS 版能防撤回、多开吗?WeChatTweak 三条命令实测 【免费下载链接】WeChatTweak A command-line tool for tweaking WeChat - 首款微信 macOS 客户端撤回拦截与多开 🔨 项目地址: https://gitcode.com/gh_mirrors/we/WeChatTweak WeChatT…

作者头像 李华
网站建设 2026/8/24 11:07:18

python的运筹学工业场景模拟第一百一十三篇:模拟退火求解工厂人员跨厂区支援调度,多厂区突发任务,快速得到人员调配可行方案。

人员“算着调”:用模拟退火把 4 小时调度从“拍脑袋”变成“秒级可行”“某电子制造集团有 5 个厂区,共 1200 名技术工人。旺季某厂区突发订单激增 300%,生产主管电话协调各厂区支援,人工调度 4 小时,结果人员分配不均…

作者头像 李华