在Android中处理方向变化的正确方法

时间:2011-06-27 15:15:51

标签: java android user-interface orientation

在Android中处理方向更改的正确方法是什么?当我研究这个问题时,出现了两种方法。

第一种方法 在方向更改后被Android操作系统杀死后,使用方法onSaveInstanceState(Bundle savedInstanceState)onRestoreInstanceState(Bundle savedInstanceState)存储和恢复您的活动。

第二种方法 在您的AndroidManifest.xml中添加了android:configChanges="orientation|keyboardHidden",因此在更改方向时不会销毁Activity。

我尝试了两种方法,但它们都有效,但第一种方法需要花费更长的时间才能实现。虽然我确实看到有关第二种方法的帖子,但我想知道这是否是一种“接受”和“正确”处理方向更改的方式。每种方法的优点和缺点是什么?谢谢!

2 个答案:

答案 0 :(得分:3)

第二种方法不允许你做某些特定方向的东西,例如在旋转屏幕时加载不同的布局(我在这里考虑资源后缀)。我没有遇到任何其他不良影响,但文档声明:“应避免使用此属性,仅用作最后手段。”

此处有更多信息:http://developer.android.com/guide/topics/resources/runtime-changes.html

答案 1 :(得分:0)

请参阅http://developer.android.com/guide/topics/resources/runtime-changes.html,他们解释这两种方法,并给出利弊和最佳解决方案。