[Android.Runtime.Register("android/app/DialogFragment", DoNotGenerateAcw=true)]
public class DialogFragment : Android.App.Fragment, Android.Content.IDialogInterfaceOnCancelListener, Android.Content.IDialogInterfaceOnDismissListener, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/app/DialogFragment", DoNotGenerateAcw=true)>]
type DialogFragment = class
inherit Fragment
interface IDialogInterfaceOnCancelListener
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IDialogInterfaceOnDismissListener
DialogFragment
显示对话窗口的片段,它浮动在其活动窗口的顶部。 此片段包含一个 Dialog 对象,它根据片段的状态视情况显示该对象。 对话框的控制 (决定何时显示、隐藏、关闭它) 应通过此处的 API 完成,而不是直接调用对话框。
实现应重写此类并实现
#onCreateView(LayoutInflater, ViewGroup, Bundle)
以提供对话的内容。 或者,他们可以重写
#onCreateDialog(Bundle)
以创建完全自定义的对话(例如 AlertDialog),其中包含其自己的内容。
此处涵盖的主题: <ol<>li>生命周期<li>基本对话<li>警报对话框<li>在对话之间选择或嵌入</ol>
“生命周期”><h3>生命周期</h3>
DialogFragment 执行各种操作来保持片段的生命周期驱动它,而不是对话。 请注意,对话通常是自治实体 -- 它们是自己的窗口,接收自己的输入事件,并且通常通过接收后退键事件或用户单击按钮) ,自行决定何时消失 (。
DialogFragment 需要确保“片段”和“对话”状态所发生的情况保持一致。 为此,它会监视对话中的消除事件,并在事件发生时删除其自己的状态。 这意味着应使用
#show(FragmentManager, String)
或
#show(FragmentTransaction, String)
将 DialogFragment 的实例添加到 UI,因为这些实例会跟踪在关闭对话框时如何删除 DialogFragment 本身。
“BasicDialog”><h3>基本对话框</h3>
DialogFragment 的最简单用法是用作片段视图层次结构的浮动容器。 简单的实现可能如下所示:
{
此成员已弃用。 使用
支持库
androidx.fragment.app.DialogFragment
在所有设备上实现一致的行为并访问
生命周期
。
的
android.app.DialogFragment
Java 文档。
此页面的部分内容是基于
创建和共享的工作进行的修改,并根据
署名许可
中所述的术语使用。
返回转换,当由于弹出后部堆栈而准备删除、隐藏或分离片段时,该转换将用于将视图移出场景。 - 或 - 设置当由于弹出后部堆栈而准备删除、隐藏或分离片段时,将用于将视图移出场景的切换。
(继承自
Fragment
)
推迟进入片段转换,直到
#startPostponedEnterTransition()
调用 或
FragmentManager#executePendingTransactions()
。
(继承自
Fragment
)
设置初始保存状态,使此片段在首次构造时应从中还原自身,如 返回
FragmentManager#saveFragmentInstanceState(Fragment)
FragmentManager.saveFragmentInstanceState
。
(继承自
Fragment
)
从片段的包含活动调用
Activity#startIntentSenderForResult(IntentSender, int, Intent, int, int, int,
Bundle)
。
(继承自
Fragment
)