【问题标题】:How to get event notification on orientation change from Landscape Left to LandScape Right?如何获取从横向左侧到横向右侧方向更改的事件通知?
【发布时间】:2017-05-16 12:18:55
【问题描述】:

我有一个 Activity 覆盖 public void onConfigurationChanged(Configuration newConfig) 方法。当用户将方向从横向更改为纵向或从纵向更改为横向时,它会接收事件。但是,当我将方向横向从右侧更改为横向左侧或从横向左侧更改为横向右侧时,不显示任何事件。有什么办法可以在将方向横向更改为横向时得到平衡??

【问题讨论】:

    标签: android orientation screen-rotation onconfigurationchanged


    【解决方案1】:

    您可以使用加速度计检测旋转侧。当您确定某些方向横向/纵向时,请设置当前角度。如果方向改变,计算差异,看看它是否 90>(大致),如果是,显然屏幕从纵向旋转到纵向或从横向旋转到横向。通过该计算,您还可以检测到左侧或右侧的旋转。你明白了。还要检查这些答案:

    https://stackoverflow.com/a/10383164/5577679

    how to detect orientation of android device?

    Get rotation and display in degrees

    和传感器概述:

    https://developer.android.com/guide/topics/sensors/sensors_overview.html

    【讨论】:

    • 感谢您的解决方案。实际上我需要 onConfigurationChange 上的事件。有可能吗??
    • 您可以根据我写的内容将您的逻辑放在您想要的任何地方。这意味着它也可能在 onConfigurationChanged 中。如果按事件您的意思是作为 onConfigurationChanged 接口的一部分的侧旋转侦听器之类的东西,那么就没有这样的东西了。这就是我为您编写基于加速度计的解决方案的主要原因。否则,我认为您甚至不会在这里提出问题,或者我发布的链接中的这些人会为了获得他们可以通过接口方法获得的东西而经历所有麻烦。恐怕我的回答是您问题的唯一解决方案。
    • 我认为第三个链接将解决我的问题。我将像之前一样使用 onConfiguration 更改。如果我发生了不寻常的变化,我将跟踪 onSensor 的变化,并根据需要使用接口进行回调和更改。谢谢
    • 没问题。我很高兴它有帮助!
    猜你喜欢
    • 2014-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    相关资源
    最近更新 更多