gpt4 book ai didi

android - 如何在支持自然景观设备的情况下检测左景观(正常)与右景观(反向)?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:47:57 26 4
gpt4 key购买 nike

我想做什么:

  • 检测设备当前的布局方向(纵向、横向-左、纵向(倒置)、横向-右)
  • 区分两种可能的横向模式(靠左,靠右)
  • 支持以横向为自然状态的设备(for examplediscussed here)
  • 支持<2.2(不能使用getRotation())

澄清一下,我想知道布局当前处于什么方向。布局的底部是哪个方向?是纵向的吗?是风景吗?风景是左边还是右边?等

我能找到的最接近的是 Activity.getResources().getConfiguration().orientation , 但它只返回三个可能的值。 ORIENTATION_LANDSCAPE、ORIENTATION_PORTRAIT 或 ORIENTATION_SQUARE。它没有说是哪种景观。

所以,然后我想,如果我能获得设备的方向值(如 90、180、270 等)并将其与上面的配置值进行比较,我就能弄清楚。例如,如果配置值为 ORIENTATION_LANDSCAPE 并且方向为 270,我可以判断它处于反向横向模式。但是,似乎没有一种简单的方法来获取方向值。我可以实现 OrientationEventListener ,但这似乎有些矫枉过正,因为我只需要在特定时间获取一次值,而不是一直获取。

Display 类中有两个值,但 getOrientation已弃用,getRotation仅适用于 2.2 及更高版本。

现在,即使我确实得到了这个值,仍然存在自然横向设备的问题。这意味着它们的 0 值将是风景而不是肖像。所以我还需要一种确定的方法来判断哪个(横向左,横向右或纵向)对应于 0。

SO 上有很多关于方向和类似问题的帖子,但我还没有看到任何帖子将所有这些问题都考虑在内。有人解决了吗?

总而言之,我想要像 Activity.getResources().getConfiguration().orientation 这样的东西,但能够分辨出它是哪种横向模式。

最佳答案

直到 2.2 才支持正确的横向。您需要让 <2.2 设备在选项或其他选项中进行选择。

关于android - 如何在支持自然景观设备的情况下检测左景观(正常)与右景观(反向)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5088856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com