【问题标题】:Make j2me Alert Dismiss button invisible使 j2me Alert Dismiss 按钮不可见
【发布时间】:2012-08-28 18:31:23
【问题描述】:

当我将 Alert 设置为 FOREVER 时,有什么方法可以不显示默认的关闭按钮?

我正在关注以下帖子,但它显示了一个没有字符的按钮。
http://code-gotcha.blogspot.com/2011/09/dismiss-button-in-nokia-alert.html?showComment=1346738220258#c4876777871081894195

alert.addCommand(new Command("\u200B", Command.OK, 1));
//we dont like to see the DISMISS command, so adding an invisible command

我正在使用 LWUIT 表单,但刚刚调用了 j2me 本机警报,以使应用程序具有本机外观。

【问题讨论】:

  • MIDP 2 API 没有可移植的方式来做到这一点。即使某些 hack 适用于特定设备,也有零 (0%) 保证它可以在另一个设备上运行。你与Alert 如此联系有什么原因吗?根据您的描述,看起来 Form 或 Canvas 可以做同样的工作,并让您完全控制显示按钮作为奖励
  • 我正在使用 LWUIT 表单,但刚刚调用了 j2me 本机警报以使应用程序具有本机外观。
  • 你所做的基本上是 混合 LWUIT 和原生外观,而不是让它真正原生,对吗?

标签: java-me alert midp lcdui dismiss


【解决方案1】:

使用 MIDP 2 API 没有可移植的方法。

Alert 和 Command 都没有任何功能可以以某种方式确保应用程序开发人员对命令标签的特定技巧会使其按钮不可见。

即使某些 hack 适用于特定设备,也不能保证它适用于其他设备。即使您仅将自己限制为诺基亚设备,这也适用 - 诺基亚 MIDP 实施者不受任何规范的约束,以坚持使用 "\u200B" 的有趣技巧,该技巧曾经在特定设备上有效,他们“有权”改变它在任何其他设备中,甚至更多,在同一设备的任何较新版本的固件中。


至于为应用程序赋予原生外观和感觉,如果你想要的话,我强烈建议你在使用像你提到的那样的黑客之前三思而后行,因为这些很可能会产生相反的效果。

想想看,那些认为 Alert 外观和感觉很熟悉的用户很可能从多个其他 MIDlet 中习惯了它。但问题是,当解除命令出现在特定上下文中时,大多数这些其他 midlet 最有可能使用具有明确行为的非黑客警报。

现在想想您的应用与这些典型的常规 midlet 相比会有什么感觉?是的,警报看起来很熟悉,但行为会不同。在用户希望 Alert 具有解除命令的情况下,它不会。这基本上是一条让用户感到困惑并对意外行为感到难过的王道。

哦那个应用程序,常规屏幕以错误方式运行的应用程序...

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2022-12-26
  • 1970-01-01
  • 1970-01-01
  • 2018-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
相关资源
最近更新 更多