如何在Dialog中响应方向更改

时间:2011-03-07 10:52:35

标签: android user-interface layout dialog screen-orientation

我有自己的Dialog实现

public class MyDialog extends Dialog

是否可以在MyDialog类中响应方向更改并更改对话框使用的布局,如果创建它的Activity在清单中具有以下内容:

android:configChanges="keyboard|keyboardHidden|orientation"

由于

2 个答案:

答案 0 :(得分:2)

android:configChanges="orientation"标志只表示Activity类将自行执行方向调整,并且当方向更改时不应销毁/重新创建Activity(onCreate不会再次调用)。你可以找到关于如何处理这个@ How to make an application ignore screen orientation change?

的一个很好的解释

在我看来我们应该尝试避免设置此标志,因为它不被视为最佳做法。在http://blog.doityourselfandroid.com/2010/11/14/handling-progress-dialogs-and-screen-orientation-changes/详细解释了详细解释了方向更改时处理Activity的更合适的方法。

答案 1 :(得分:0)

您在清单中声明它的方式,您说您将自己处理方向更改。您的活动不会重新启动,但会调用onConfigurationChanged()。你应该在那里进行必要的调整。

你可能不得不关闭对话框并在onConfigurationChanged()中重新显示它。