你的计划看起来是可行的。无法提供太多链接,因为不记得任何可能对您正在做的事情有所帮助的链接。实际上,对您最有用的链接可能是 MIDP ( JSR 118 ) API 参考 - 您的部分将主要是lcdui
包,尤其是Graphics
API。
至于建议,没问题。首先要注意的是,与之前的隐式列表实验相比,将会有更多的编码和更多(更多)测试/调试。如果您能想到可能成为问题的一些可能的截止日期/时间要求 - 请记住将隐式列表作为后备的先前设计。它看起来不会那么花哨,但它会安全且正确地工作。
另一件重要的事情是决定你要定位什么样的设备。对于您将要开发的菜单,可能很难在配备ITU-T 键盘的 160x200 基本手机和 400x600 触摸屏智能手机上获得一致的外观和感觉。下面我将假设您将尝试针对尽可能广泛的设备 - 请注意,您可以获得的设备越窄,编码和测试就越容易。
当针对许多不同的设备时,使用可以配置为模拟各种显示尺寸和分辨率、是否存在触摸屏输入等的模拟器会很有帮助。请记住,尽管单独的模拟器不能完全模拟真实设备。为了让您脚踏实地,还可以考虑使用真实设备对您的应用程序进行一些定期冒烟测试,最好使用无线 (OTA) 安装。
以下是我现在能想到的一些特定的 API 技巧。
- 用于
Canvas.getGameAction
处理按下的键代码 - 这可能是向上/向下计算和选择菜单操作的最可靠/便携的方式。
- 用于
Canvas.hasPointerEvents
计算是否有触摸屏支持。如果事实证明您的精美菜单在点击屏幕时无法做出反应,使用触摸屏设备的用户可能会感到失望。
- 使用
Font.getHeight
和Font.stringWidth
计算菜单项文本占用了多少空间。
Image.getGraphics
如果您想在图像对象上绘制一些东西,请使用。
lcdui.Graphics
正如我所提到的,您很可能会使用API做很多事情。它大多相当简单,但您可能需要了解一些关于剪裁的棘手内容。祝你好运。