一个帮助解决"今天吃什么"选择困难的 Android 小应用。点击按钮,随机推荐一家店及其招牌菜。
- 随机抽取一家店 + 招牌菜列表展示
- 空心爱心收藏(SharedPreferences 持久化,不影响抽取概率)
- 精致动画:
- 收藏:实心爱心从中间缩放淡入 + 浅粉色圆形涟漪扩散
- 取消:实心爱心向上飘出淡出
- 卡片切换:淡出缩小 → 换内容 → 淡入恢复
- 按钮按下:加速缩小 + 弹性回弹(OvershootInterpolator)
- 避免连续两次抽到相同店
- 全屏沉浸式界面
- 暖色调"可口"配色(番茄红 / 金橙 / 奶油白 / 咖啡棕)
- Java 17
- Android SDK 36(minSdk 24)
- Gradle 9.5.1 + AGP 8.13.0
- Material Components
app/src/main/
├── assets/menu.json # 5×5 食物表格数据
├── java/com/example/lunchapp/
│ └── MainActivity.java # 核心逻辑与动画
└── res/
├── layout/activity_main.xml # 卡片 + 爱心 + 涟漪布局
├── values/colors.xml # 暖色调配色
├── values/strings.xml # 文案
├── values/themes.xml # 全屏 NoActionBar 主题
└── drawable/ # 背景、按钮、爱心、涟漪等
menu.json 为 5×5 二维数组,每个单元格格式:店名 菜名1 菜名2 菜名3 ...(空格分隔),空字符串表示该格无店。
.\build_and_install.ps1脚本会构建 debug APK 并安装到 MuMu 模拟器(127.0.0.1:16416)。
目前项目还需要导入完整菜单。 当前 menu.json 仅包含 15 家店作为示例,需要补充更多店和菜品以丰富抽取结果。