Android 避免在方向更改后重新加载视图
我是android开发新手。最近我一直对这个问题感到困惑。Android 避免在方向更改后重新加载视图,android,Android,我是android开发新手。最近我一直对这个问题感到困惑。 每次方向更改时,我的视图都会重新加载。我想避免这种情况。这是发生在从风景到肖像的变化上,反之亦然 在活动中的清单的下面一行: android:configChanges="orientation|screenSize" 因此,您的活动应该如下所示: <activity android:configChanges="orientation|screenSize" android:na
每次方向更改时,我的视图都会重新加载。我想避免这种情况。这是发生在从风景到肖像的变化上,反之亦然 在活动中的清单的下面一行:
android:configChanges="orientation|screenSize"
因此,您的活动应该如下所示:
<activity
android:configChanges="orientation|screenSize"
android:name=".YourActivity"/>
这样可以防止在方向更改时破坏活动。Android在方向更改后重新加载视图的原因是,此视图很可能是方向更改前显示的视图以外的另一个视图,例如,使用新的布局、字体大小、图像视图或其他资源。Android系统能够在方向改变的情况下自动加载不同屏幕尺寸(例如高度、宽度、密度等)的合适资源 为此,Android首先调用活动的
onDestroy()
方法,然后调用其onCreate()
方法以使活动能够重新加载资源和活动状态
如果出于某种原因您不希望出现这种行为,您可以遵循上述建议,向活动元素添加android:configChanges
属性。在这种情况下,Android调用活动的onConfigurationChanged()
方法,而不是onDestroy()
和onCreate()
onConfigurationChanged()
是放置代码以适应新方向(如有必要)的方法。如果没有,也可以将其留空
如需进一步阅读,请参阅它必须重新加载才能保持新布局的正确大小。这种方法确实有效。也许您可以发布一些代码来理解您的问题?我一直在想为什么视图在方向更改时加载,而视图在方向更改之前就已经加载了…可能您的代码中有smth错误。创建简单项目并应用我的解决方案。您将看到,这种方法是有效的