【问题标题】:DialogFragment vs Activity with Dialog themeDialogFragment 与 Activity 与 Dialog 主题
【发布时间】:2014-09-10 20:17:14
【问题描述】:

我了解 Dialog-fragment 和带有 Dialog 主题的 Activity 都可用于在 Android 中创建 Dialog。我也知道他们都在方向改变期间幸存下来。

我的问题是我是否可以始终对所有对话框使用带有对话框主题的活动?是否有任何情况下我必须使用 DialogFragment 而不是带有对话框主题的 Activity?

谢谢!

【问题讨论】:

    标签: android android-activity dialog


    【解决方案1】:

    如果你使用带有对话框主题的Activity,你可以使用ActionBar。您不能将 ActionBar 与 Dialog 一起使用。 Android 无论如何都不提供将菜单/操作添加到对话框标题中。你必须自己实现它。

    Dialog 就像 Activity 的子视图,所以如果您使用 Dialog,您不必处理方向更改。 Activity 和 Dialog 之间的通信就像视图和子视图一样。这不适用于 Activity 和 Dialog 主题活动之间的通信。

    选择对话或对话主题活动取决于您的对话性质/复杂性。

    【讨论】:

    • 说没有必要处理对话框的方向变化是荒谬的。原始对话框在方向更改后消失了,这就是推荐使用 DialogFragment 的原因,如果该对话框有任何状态,也需要保存状态
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    相关资源
    最近更新 更多