【问题标题】:How to respond to orientation change in Dialog如何响应 Dialog 中的方向变化
【发布时间】:2011-03-07 10:52:35
【问题描述】:

我有自己的 Dialog 实现

public class MyDialog extends Dialog

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

android:configChanges="keyboard|keyboardHidden|orientation"

谢谢

【问题讨论】:

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


    【解决方案1】:

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

    另外在我看来我们应该尽量避免设置这个标志,因为它不是最佳实践。在方向更改时处理 Activity 重新创建的更合适的方法已详细解释@http://blog.doityourselfandroid.com/2010/11/14/handling-progress-dialogs-and-screen-orientation-changes/

    【讨论】:

      【解决方案2】:

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

      您可能必须关闭对话框并在 onConfigurationChanged() 中重新显示它。

      【讨论】:

      • 这意味着要在调用对话框的 [每个] 活动中进行更改。我非常想避免这种情况。
      猜你喜欢
      • 2011-02-19
      • 2015-07-07
      • 1970-01-01
      • 1970-01-01
      • 2022-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多