相关疑难解决方法(0)

如何检测屏幕旋转

我有一个显示指南针的活动,我需要知道屏幕的方向以正确旋转针.我需要区分90°和270°旋转才能正确处理.

当我旋转屏幕(至少在我的Nexus S上)时,onCreate会调用活动,例如当我从纵向模式旋转到横向模式时.当我从一个横向模式旋转到另一个横向边缘凸起时,onCreate()会被调用两次(一次用于纵向,一次用于目标横向模式).

但是,当我以底边向上旋转时,屏幕旋转180°并且onCreate不会被调用.在这种情况下会有被触发的事件吗?

android screen-rotation

15
推荐指数
2
解决办法
5万
查看次数

onConfigurationChanged没有调用180度和270度

我的Android设备上遇到了一个奇怪的问题(或者可能是意外的行为).

问题是我正在我的DialogFragment中监听配置更改,如下所示:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    // Do something secret here :)
}
Run Code Online (Sandbox Code Playgroud)

我添加android:configChanges了Activity,它负责显示对话框片段

<activity
    android:name=".SecretActivity" 
    android:configChanges="orientation|screenSize"
    android:windowSoftInputMode="adjustResize" />
Run Code Online (Sandbox Code Playgroud)

事实上,当我旋转设备时,我正从系统中获得回调,但并非在所有情况下.正如你在onConfigurationChanged( )旋转90度时所看到的图片中所看到的那样,以及360度,在其他情况下它不会被调用.

这是预期的行为吗?如果是,我如何检测所有旋转(90,180,270,360)?

在此输入图像描述

java android screen-orientation kotlin

6
推荐指数
2
解决办法
439
查看次数