【问题标题】:Lock screen orientation to just one landscape and one portrait modes将屏幕方向锁定为一种横向和一种纵向模式
【发布时间】:2015-05-04 03:53:03
【问题描述】:

假设我的应用有两个活动AB。此外,我们将可能的屏幕方向称为landscape-1portrait-2landscape-3portrait-4
我想将A 的方向锁定为横向(13),将B 锁定为横向和纵向(1234)。 所以,为此,我使用了sensorLandscape。后来我意识到sensorLandscape 是针对API 9 或更高版本的,我想支持旧版本。我搜索了一种模拟sensorLandscape 行为的方法,但我没有找到任何东西。所以我现在要采用一种更简单的方法:我想在活动A 上使用landscape 模式(这只是1),但我不希望用户能够使用@987654341 @在活动B上(所以回到活动A时没有奇怪的转折)。
总结一下,思路如下:
活动的可能屏幕方向A: landscape-1.
活动Blandscape-1portrait-3 的可能屏幕方向。
有关如何完成此行为的任何想法?

【问题讨论】:

  • 强制 Activity B 的方向锁定是没有意义的,并且可能会引起用户的烦恼。如果您要为活动 B 支持横向和纵向,那么只需让用户决定他们想要的方向(横向、反向横向、纵向、反向纵向)。换句话说,根本不要尝试锁定方向。至于活动 A,如果您只支持一种横向模式,您可能会再次引起用户的烦恼 - 很好,如果您需要,则强制仅横向,但同时支持横向和反向横向。
  • 我很乐意这样做,这就是sensorLandscape 所做的。但我不能使用它,因为我需要支持旧设备。你知道我如何模仿sensorLandscape 的行为吗?
  • 查看在您的活动代码中动态设置方向。检查 API 版本,然后根据它设置方向 - 如果 API > 9,那么您应该能够检测到当前设备方向。 Activity B 可以(并且应该)被允许做自己的事情,由操作系统和实际设备方向自动调整。

标签: android orientation landscape portrait


【解决方案1】:

使用它,不支持api

完成胜于完美

不用担心,您仍然以 97% 的 Api >=9 为目标。

【讨论】:

  • 我买不起。在我的国家,很多人使用 API 较低的手机。
  • 您不是为本国人民而是为全世界编写应用程序...我无法想象您所在国家/地区有很多用户的 pi 低于 Android 4.0
  • 但一种解决方法是使用传感器管理器并询问 x 和 y 轴的力
  • 仅供本地使用。该应用程序不适用于全世界,这没有任何意义。你能详细说明一下这个解决方法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多