我知道在Android中,Dialog-fragment和带有Dialog主题的Activity都可以用于创建对话框。我也知道它们都可以在屏幕方向改变时保持存在。
我的问题是:我是否总是可以使用带有Dialog主题的Activity来创建所有对话框?是否有任何情况下我必须使用DialogFragment而不是带有Dialog主题的Activity?
谢谢!
我知道在Android中,Dialog-fragment和带有Dialog主题的Activity都可以用于创建对话框。我也知道它们都可以在屏幕方向改变时保持存在。
我的问题是:我是否总是可以使用带有Dialog主题的Activity来创建所有对话框?是否有任何情况下我必须使用DialogFragment而不是带有Dialog主题的Activity?
谢谢!
如果您使用带有对话框主题的Activity,则可以使用ActionBar。您无法在Dialog中使用ActionBar。Android不提供在Dialog标题中添加菜单/操作的方法。您必须自己实现。
Dialog类似于Activity的子视图,因此如果您使用Dialog,则无需处理方向的改变。Activity和Dialog之间的通信类似于View和Sub-view之间的通信。但是,在Activity和带有对话框主题的Activity之间的通信方面则不是这样。
选择Dialog或带有对话框主题的Activity取决于对话框的性质/复杂性。