【问题标题】:How to lock the landscape mode in j2me app?如何在 j2me 应用程序中锁定横向模式?
【发布时间】:2014-06-03 21:34:59
【问题描述】:

我只想以纵向模式显示我的应用。我必须在我的应用中限制横向模式。

每个设备都有单独的属性。

对于诺基亚,Nokia-MIDlet-App-Orientation : Portrait。 对于三星,MIDlet-ScreenMode : Portrait

在 JAD 中添加这些后,我尝试将其安装在诺基亚 C5 中。我无法安装它。我收到必填属性缺失错误,因为自定义 JAD 属性不应以 MIDlet- 开头。由于 MIDlet-ScreenMode : Portrait 属性,我无法安装它。

是否有任何通用代码可以在诺基亚、LG、摩托罗拉、三星等所有设备中锁定横向模式,

【问题讨论】:

  • 指定您使用的是哪个框架?
  • 在纯 j2me 中,我需要锁定横向模式。

标签: java-me orientation midp lcdui


【解决方案1】:

在 MIDP 中无法将应用锁定到某个方向。这通常通过不同设备上的专有 JAD 参数来实现。您需要找出这些参数对于您希望定位的设备而言是什么,并将它们添加到您的 JAD。

this question 的回答中有一些方法可以做到这一点。

【讨论】:

  • 我试过 Nokia 设备: Nokia-MIDlet-App-Orientation : Landscape Samsung device: MIDlet-ScreenMode : Landscape
  • 感谢您的回答 funkybro。我有一些问题。当我使用 MIDlet-ScreenMode : Landscape 时,我无法在诺基亚 C5 中安装该应用程序。它显示“缺少强制属性”,因为自定义属性不应以 Midlet- 开头。那么,我该如何使用 MIDlet-ScreenMode : Landscape
  • 呵呵,我还以为会这样呢。因此,现在您需要为每个设备制作单独的可分发文件! J2ME 是不是有点笑?
  • 那是真正的时髦兄弟。每个设备都有自己的 JAD 属性来锁定横向模式。 LG 具有单独的属性。诺基亚具有单独的属性。三星有单独的属性。很多事情要在所有设备中完成一项功能。取而代之的是,没有其他方法可以做到这一点。我还为每个设备考虑了单独的可分发文件。感谢您的想法。
  • 也许您可以收集专有的 JAD 以及有关哪些 JAD 与其他设备不兼容的信息(例如诺基亚 S40 上的 MIDlet-*)并将它们添加到此问题中,以便其他人可以参考?
【解决方案2】:

如果您的应用 GUI 是基于 Canvas 实现的,您可以通过编程方式实现。在另一个答案Create Landscape Game Canvas for Asha 303 我展示了如何保持横向模式,但可以应用相同的原则将应用程序保持为纵向。

【讨论】:

  • Telmo Pimentel Mota,感谢您的回答。我没有使用画布。不使用画布可以吗?
  • 如果您使用的是 LCDUI,这是不可能的。如果您正在使用一些 UI 框架(如 LWUIT),则必须查看框架文档。
【解决方案3】:

这有点压力,但你可以添加一个方向监听器,当方向改变时,你可以将方向值设置回纵向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    相关资源
    最近更新 更多