v1.3.1 · 每日开屏提醒
✨ 新功能
- 每日首次打开的开屏动画:全屏紫渐变卡片,先弹出「距离初试」大数字(0 滚到真实天数),
下面跟一句按阶段变化的鼓励语(最后 7 天「沉住气」、30 天内「冲刺阶段」、60 天内「稳一点」、更早「先把今天过好」)。
- 随机展示当天两个单词:从「今日单词」计划里随机抽 2 个(单词 / 音标 / 释义),
每天打开都能顺便记两眼;当天计划还没生成时会先生成,清单为空时显示「休息一下吧」。
- 可手动关,也可自动淡出:点屏幕任意处、点右上角
× 都能立即关闭;
不操作则 2 秒后自动淡出(0.45s 渐隐,底部有一条 2 秒进度条)。
- 一天只弹一次:弹过之后日期记进
state.json 的 splash_day,当天再打开不会重复打扰,第二天自动恢复。
- 深色模式适配(点击背景/深色渐变两套配色),加了
role="dialog" / aria-modal / aria-label,
读屏可识别为对话框、× 可读为「关闭」。
- 首次启动、还没设初试日期时不会弹(不挡设置向导)。
- 今日单词列表卡片头去掉冗余的「考研单词」:每个批次卡片只显示
2026-10-25 11:53 | D25 120/170,历史批次(旧数据里带前缀)也同样处理。
🛠 实现与构建
- 新增
SplashView.java(纯 Java 拼 HTML,不依赖 Android API,方便离线预览),
MainActivity 用 splashPending 决定本次 load() 是否插入开屏,
HtmlView.pickSplashWords() 负责从当天计划随机选词。
build.sh 兼容「只含 class、没有资源表」的 android.jar:自动检测不到 resources.arsc
时,aapt2 link 改用系统 /system/framework/framework-res.apk(AAPT_I 可手动覆盖)。
这是新构建环境(非 Termux root 目录)下必须的一步,否则会报
Theme.Material.Light.NoActionBar not found。
🧩 其他
- 每次想更新日志怎么写总是头疼,于是看了看国民级的软件:修复了一些已知问题。
📦 安装
pm install -r -d kaoyan-widget-v1.3.1.apk
🧪 实机走查(2026-10-25)
- 已在真机(OnePlus / ColorOS,1240×2772)覆盖安装并逐项验证:
开屏正常弹出(55 天 + 当天随机 2 个单词)、数字滚动、2 秒后自动淡出、
点任意处 / 右上角 × 手动关闭、当天第二次打开不再弹、改日期跨天后重新弹出、
深色模式配色正常,全程无崩溃。
- 已知小现象:开屏的 2 秒内,学习弹幕(独立悬浮窗)仍可能从开屏上方飘过;
想画面干净可以先关掉弹幕开关(后续版本可在开屏期间临时暂停弹幕)。
⚠️ 本项目由 AI 生成,仅供学习交流。
⚠️ 本项目由 AI 生成,仅供学习交流。