android orientation改变后 newconfig 没变化
时间: 2023-11-19 21:05:13 浏览: 27
当屏幕方向改变时,Android 会重新创建 Activity,并且会调用 `onConfigurationChanged()` 方法,该方法会传递一个新的 Configuration 对象作为参数。如果你想在屏幕方向改变后执行一些操作,可以在 `onConfigurationChanged()` 方法中进行处理。
如果你发现 `onConfigurationChanged()` 方法中传递的新 Configuration 对象没有变化,可能有以下几种原因:
1. 你没有在 AndroidManifest.xml 文件中的 Activity 中添加 `android:configChanges="orientation"` 属性,这会导致 Activity 在屏幕方向改变时重新创建。你可以将此属性添加到 Activity 中,这样就可以在屏幕方向改变时保留 Activity 的状态,而不会重新创建。
2. 如果你在 `onConfigurationChanged()` 方法中手动设置了新的 Configuration 对象,那么可能会导致新的 Configuration 对象没有变化。在处理完 `onConfigurationChanged()` 方法后,Android 会自动更新 Configuration 对象,你可以在其他方法中获取到新的 Configuration 对象。
3. 可能是由于设备的操作系统版本或硬件限制,屏幕方向的改变并不会引起 Configuration 对象的变化。在这种情况下,你可以考虑使用其他方法来检测屏幕方向的改变,例如使用传感器来检测设备的方向。