DialogFragment 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
此类在 API 级别 28 中已弃用。
[Android.Runtime.Register("android/app/DialogFragment", DoNotGenerateAcw=true)]
public class DialogFragment : Android.App.Fragment, Android.Content.IDialogInterfaceOnCancelListener, Android.Content.IDialogInterfaceOnDismissListener, IDisposable
[<Android.Runtime.Register("android/app/DialogFragment", DoNotGenerateAcw=true)>]
type DialogFragment = class
inherit Fragment
interface IDialogInterfaceOnCancelListener
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IDialogInterfaceOnDismissListener
- 继承
- 属性
- 实现
注解
此类在 API 级别 28 中已弃用。 使用支持库 DialogFragment 在所有设备和访问生命周期时保持一致的行为。
显示对话框窗口的片段,浮动在其活动窗口的顶部。 此片段包含一个 Dialog 对象,该对象根据片段的状态根据需要显示。 对话框的控制(决定何时显示、隐藏、消除对话)应该通过 API 完成,而不是直接调用对话框。 实现应重写此类并实现 onCreateView(LayoutInflater,ViewGroup,Bundle)以提供对话框的内容。 或者,他们可以重写 onCreateDialog(Bundle),以创建一个完全自定义的对话,例如 AlertDialog 及其自己的内容。 此处介绍的主题:生命周期基本对话警报对话框在对话之间选择或嵌入生命周期 DialogFragment 执行各种操作,以保持片段的生命周期驱动它,而不是对话。 请注意,对话通常是自治实体 -- 它们是自己的窗口,接收自己的输入事件,通常决定何时消失(通过接收后退键事件或用户单击按钮)。 DialogFragment 需要确保片段和对话状态发生的情况保持一致。 为此,它会监视对话中的消除事件,并在事件发生时处理删除其自己的状态。 这意味着应使用 show(FragmentManager、String)或 show(FragmentTransaction,String)将 DialogFragment 实例添加到 UI,因为这些实例可跟踪 DialogFragment 在关闭对话框时应如何删除自身。 基本对话框最简单的使用 DialogFragment 是片段视图层次结构的浮动容器。 简单的实现可能如下所示:活动上的示例 showDialog() 方法可以是:这将删除当前显示的任何对话,使用参数创建新的 DialogFragment,并将其显示为后台堆栈上的新状态。 当事务弹出时,将销毁当前 DialogFragment 及其 Dialog,并重新显示上一个对话框(如果有)。 请注意,在这种情况下,DialogFragment 将负责将对话框的事务与对话框的事务分开消除。 警报对话框(或除)实现 Fragment.onCreateView(LayoutInflater、ViewGroup、Bundle)以生成对话内的视图层次结构外,还可以实现 onCreateDialog(Bundle)来创建自己的自定义 Dialog 对象。 这对于创建 AlertDialog 最有用,允许向由片段管理的用户显示标准警报。 这是一个简单的示例实现:创建此片段的活动可能有以下方法来显示对话并从中接收结果:请注意,在这种情况下,片段未放置在后堆栈上,它只是作为无限期运行的片段添加。 由于对话通常为模式,因此它仍将作为后退堆栈运行,因为对话将捕获用户输入,直到它被消除。 当它被消除时,DialogFragment 将负责从其片段管理器中删除自身。 如果需要,可以选择在对话框或嵌入 DialogFragment 之间进行选择。 如果你有一个片段,在某些情况下应显示为对话,而其他片段则嵌入在更大的 UI 中,这非常有用。 通常会根据片段使用方式自动选择此行为,但可以使用 setShowsDialog(boolean)进行自定义。 例如,下面是一个简单的对话片段:可以创建此片段的实例并将其显示为对话:也可以将其添加为视图层次结构中的内容:
Android 参考。android.app.DialogFragment
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
构造函数
| 名称 | 说明 |
|---|---|
| DialogFragment() |
此类在 API 级别 28 中已弃用。 |
| DialogFragment(IntPtr, JniHandleOwnership) |
初始化现有 Java Native Interface 对象的托管表示形式。 |
属性
| 名称 | 说明 |
|---|---|
| Activity |
返回此片段当前关联的活动。 (继承自 Fragment) |
| AllowEnterTransitionOverlap |
返回退出转换和输入转换是否重叠。 (继承自 Fragment) |
| AllowReturnTransitionOverlap |
返回转换和重新输入转换是否重叠。 (继承自 Fragment) |
| Arguments |
返回提供给 setArguments(Bundle)的参数(如果有)。 (继承自 Fragment) |
| Cancelable |
返回 setCancelable(布尔值)的当前值。 |
| ChildFragmentManager |
返回一个专用 FragmentManager,用于在此片段中放置和管理片段。 (继承自 Fragment) |
| Class |
返回此 |
| Context |
返回此片段当前关联的上下文。 (继承自 Fragment) |
| Dialog |
此类在 API 级别 28 中已弃用。 |
| EnterTransition |
返回将视图移动到初始场景的转换。 (继承自 Fragment) |
| ExitTransition |
返回转换,当片段被删除、隐藏或分离时,将用于将视图移出场景,而不是弹出后堆栈。 (继承自 Fragment) |
| FragmentManager |
返回 FragmentManager,以便与与此片段的活动关联的片段进行交互。 (继承自 Fragment) |
| Handle |
基础 Android 实例的句柄。 (继承自 Object) |
| Host |
返回此片段的主机对象。 (继承自 Fragment) |
| Id |
返回此片段已知的标识符。 (继承自 Fragment) |
| IsAdded |
如果片段当前已添加到其活动,则返回 true。 (继承自 Fragment) |
| IsDetached |
如果片段已从 UI 显式分离,则返回 true。 (继承自 Fragment) |
| IsHidden |
如果片段已被隐藏,则返回 true。 (继承自 Fragment) |
| IsInLayout |
如果布局通过片段>标记作为活动视图层次结构的一部分包含,则<返回 true。 (继承自 Fragment) |
| IsRemoving |
如果当前正在从其活动中删除此片段,则返回 true。 (继承自 Fragment) |
| IsResumed |
如果片段处于恢复状态,则返回 true。 (继承自 Fragment) |
| IsStateSaved |
如果添加此片段并且其状态已由其主机保存,则返回 true。 (继承自 Fragment) |
| IsVisible |
如果片段当前对用户可见,则返回 true。 (继承自 Fragment) |
| JniIdentityHashCode |
获取互操作运行时分配给此Java对等的标识哈希代码。 (继承自 Object) |
| JniManagedPeerState |
此类在 API 级别 28 中已弃用。 (继承自 JavaObject) |
| JniPeerMembers |
为 Android.App.DialogFragment 提供 JNI 绑定基础结构。 |
| LayoutInflater |
返回用于扩充此片段视图的缓存 LayoutInflater。 (继承自 Fragment) |
| LoaderManager |
不推荐使用此方法。 (继承自 Fragment) |
| ParentFragment |
返回包含此片段的父片段。 (继承自 Fragment) |
| PeerReference |
获取此Java对等方的 JNI 对象引用。 (继承自 Object) |
| ReenterTransition |
返回由于弹出后退堆栈而返回时,将用于将视图移动到场景中的转换。 (继承自 Fragment) |
| Resources |
返回 getActivity()。getResources()。 (继承自 Fragment) |
| RetainInstance |
控制片段实例是否在活动重新创建(例如从配置更改)中保留。 (继承自 Fragment) |
| ReturnTransition |
返回转换,当片段准备删除、隐藏或分离时,将用于将视图移出场景,因为弹出后堆栈。 (继承自 Fragment) |
| SharedElementEnterTransition |
返回将用于传输到内容场景的共享元素的转换。 (继承自 Fragment) |
| SharedElementReturnTransition |
返回转换,该转换将用于在后台堆栈弹出期间传输回的共享元素。 (继承自 Fragment) |
| ShowsDialog |
返回 setShowsDialog(boolean) 的当前值。 |
| Tag |
获取片段的标记名称(如果指定)。 (继承自 Fragment) |
| TargetFragment |
返回 setTargetFragment(Fragment, int) 设置的目标片段。 (继承自 Fragment) |
| TargetRequestCode |
返回 setTargetFragment(Fragment, int) 设置的目标请求代码。 (继承自 Fragment) |
| Theme |
此类在 API 级别 28 中已弃用。 |
| ThresholdClass |
为 Android.App.DialogFragment 提供 JNI 绑定基础结构。 |
| ThresholdType |
为 Android.App.DialogFragment 提供 JNI 绑定基础结构。 |
| UserVisibleHint |
另请参阅: (继承自 Fragment) |
| View |
获取片段布局的根视图(由 onCreateView(LayoutInflater、ViewGroup、Bundle)返回的视图(如果提供)。 (继承自 Fragment) |
方法
| 名称 | 说明 |
|---|---|
| Clone() |
创建并返回此对象的副本。 (继承自 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
此类在 API 级别 28 中已弃用。 (继承自 JavaObject) |
| Dismiss() |
消除片段及其对话框。 |
| DismissAllowingStateLoss() |
使用 FragmentTransaction.commitAllowingStateLoss() 的 dismiss() 版本。 |
| Dispose() |
释放此Java对等方持有的资源。 (继承自 Object) |
| Dispose(Boolean) |
释放此Java对等方持有的资源。 (继承自 Object) |
| DisposeUnlessReferenced() |
此类在 API 级别 28 中已弃用。 (继承自 JavaObject) |
| Dump(String, FileDescriptor, PrintWriter, String[]) |
将片段的状态打印到给定流中。 (继承自 Fragment) |
| Equals(Object) |
此类在 API 级别 28 中已弃用。 (继承自 JavaObject) |
| Equals(Object) |
已过时.
子类不能重写 equals()。 (继承自 Fragment) |
| GetHashCode() |
已过时.
子类不能重写 hashCode()。 (继承自 Fragment) |
| GetString(Int32, Object[]) |
从应用程序包的默认字符串表中返回本地化格式化字符串,替换 Formatter 和 String.format(String, Object) 中定义的格式参数。 (继承自 Fragment) |
| GetString(Int32) |
从应用程序包的默认字符串表中返回本地化字符串。 (继承自 Fragment) |
| GetText(Int32) |
从应用程序包的默认字符串表中返回本地化样式的 CharSequence。 (继承自 Fragment) |
| GetTextFormatted(Int32) |
从应用程序包的默认字符串表中返回本地化样式的 CharSequence。 (继承自 Fragment) |
| JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
| Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
| NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
| OnActivityCreated(Bundle) |
创建片段的活动并实例化此片段的视图层次结构时调用。 (继承自 Fragment) |
| OnActivityResult(Int32, Result, Intent) |
从上一次调用 startActivityForResult(Intent,int)接收结果。 (继承自 Fragment) |
| OnAttach(Activity) |
此方法在 API 级别 23 中已弃用。 (继承自 Fragment) |
| OnAttach(Context) |
当片段首次附加到其上下文时调用。 (继承自 Fragment) |
| OnAttachFragment(Fragment) |
当片段作为此片段的子级附加时调用。 (继承自 Fragment) |
| OnCancel(IDialogInterface) |
取消对话框时将调用此方法。 |
| OnConfigurationChanged(Configuration) |
当设备配置在组件运行时发生更改时由系统调用。 (继承自 Fragment) |
| OnContextItemSelected(IMenuItem) |
每当选择上下文菜单中的项时,将调用此挂钩。 (继承自 Fragment) |
| OnCreate(Bundle) |
调用以执行片段的初始创建。 (继承自 Fragment) |
| OnCreateAnimator(FragmentTransit, Boolean, Int32) |
当片段加载动画时调用。 (继承自 Fragment) |
| OnCreateContextMenu(IContextMenu, View, IContextMenuContextMenuInfo) |
当视图的上下文菜单即将显示时调用。 (继承自 Fragment) |
| OnCreateDialog(Bundle) |
重写以生成自己的自定义对话框容器。 |
| OnCreateOptionsMenu(IMenu, MenuInflater) |
初始化活动标准选项菜单的内容。 (继承自 Fragment) |
| OnCreateView(LayoutInflater, ViewGroup, Bundle) |
调用以让片段实例化其用户界面视图。 (继承自 Fragment) |
| OnDestroy() |
当片段不再使用时调用。 (继承自 Fragment) |
| OnDestroyOptionsMenu() |
当此片段的选项菜单项不再包含在整体选项菜单中时调用。 (继承自 Fragment) |
| OnDestroyView() |
当以前由 onCreateView(LayoutInflater、ViewGroup、 Bundle) 创建的视图已与片段分离时调用。 (继承自 Fragment) |
| OnDetach() |
当片段不再附加到其活动时调用。 (继承自 Fragment) |
| OnDismiss(IDialogInterface) |
关闭对话框时将调用此方法。 |
| OnGetLayoutInflater(Bundle) |
返回用于放大此片段视图的 LayoutInflater。 (继承自 Fragment) |
| OnHiddenChanged(Boolean) |
当片段的隐藏状态(由 isHidden(返回)更改时调用。 (继承自 Fragment) |
| OnInflate(Activity, IAttributeSet, Bundle) |
此方法在 API 级别 23 中已弃用。 (继承自 Fragment) |
| OnInflate(Context, IAttributeSet, Bundle) |
在作为视图布局膨胀的一部分创建片段时调用,通常从设置活动的内容视图。 (继承自 Fragment) |
| OnInflate(IAttributeSet, Bundle) |
已过时.
此方法在 API 级别 15 中已弃用。 (继承自 Fragment) |
| OnLowMemory() |
当整个系统内存不足时,会调用此方法,并且主动运行的进程应剪裁其内存使用率。 (继承自 Fragment) |
| OnMultiWindowModeChanged(Boolean, Configuration) |
当片段的活动从全屏模式更改为多窗口模式,反之亦然时调用。 (继承自 Fragment) |
| OnMultiWindowModeChanged(Boolean) |
此方法在 API 级别 26 中已弃用。 (继承自 Fragment) |
| OnOptionsItemSelected(IMenuItem) |
每当选择选项菜单中的某个项时,将调用此挂钩。 (继承自 Fragment) |
| OnOptionsMenuClosed(IMenu) |
每当选项菜单处于关闭状态(用户取消带有后退/菜单按钮的菜单,或选中某个项时),将调用此挂钩。 (继承自 Fragment) |
| OnPause() |
不再恢复片段时调用。 (继承自 Fragment) |
| OnPictureInPictureModeChanged(Boolean, Configuration) |
当活动更改到图片中和从图片中模式更改时由系统调用。 (继承自 Fragment) |
| OnPictureInPictureModeChanged(Boolean) |
此方法在 API 级别 26 中已弃用。 (继承自 Fragment) |
| OnPrepareOptionsMenu(IMenu) |
准备要显示的屏幕标准选项菜单。 (继承自 Fragment) |
| OnRequestPermissionsResult(Int32, String[], Permission[]) |
请求权限的结果的回调。 (继承自 Fragment) |
| OnResume() |
当片段对用户可见并主动运行时调用。 (继承自 Fragment) |
| OnSaveInstanceState(Bundle) |
调用以要求片段保存其当前动态状态,以便稍后可以在进程的新实例中重新构造它。 (继承自 Fragment) |
| OnStart() |
当用户看到片段时调用。 (继承自 Fragment) |
| OnStop() |
不再启动片段时调用。 (继承自 Fragment) |
| OnTrimMemory(TrimMemory) |
当操作系统确定进程从其进程中剪裁不需要的内存是一个好时机时调用。 (继承自 Fragment) |
| OnViewCreated(View, Bundle) |
在 onCreateView(LayoutInflater,ViewGroup,Bundle)返回之后立即调用,但在还原到视图中的任何保存状态之前。 (继承自 Fragment) |
| OnViewStateRestored(Bundle) |
当所有已保存状态都还原到片段的视图层次结构时调用。 (继承自 Fragment) |
| PostponeEnterTransition() |
推迟进入片段转换,直到调用 startPostponedEnterTransition() 或 FragmentManager.executePendingTransactions()。 (继承自 Fragment) |
| RegisterForContextMenu(View) |
注册要为给定视图显示的上下文菜单(多个视图可以显示上下文菜单)。 (继承自 Fragment) |
| RequestPermissions(String[], Int32) |
请求授予此应用程序的权限。 (继承自 Fragment) |
| SetEnterSharedElementCallback(SharedElementCallback) |
当自定义转换与片段一起使用时,当未弹出后堆栈时,将调用此片段的输入转换回调。 (继承自 Fragment) |
| SetExitSharedElementCallback(SharedElementCallback) |
当自定义转换与片段一起使用时,当此片段附加或分离时,当弹出后堆栈时,将调用退出转换回调。 (继承自 Fragment) |
| SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
| SetHasOptionsMenu(Boolean) |
报告此片段希望通过接收对 onCreateOptionsMenu(Menu、MenuInflater)和相关方法的调用来参与填充选项菜单。 (继承自 Fragment) |
| SetInitialSavedState(Fragment+SavedState) |
根据 FragmentManager.saveFragmentInstanceState 返回的片段,设置此片段应从第一次构造时还原自身的初始保存状态。 (继承自 Fragment) |
| SetMenuVisibility(Boolean) |
设置此片段的菜单是否应可见的提示。 (继承自 Fragment) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
此类在 API 级别 28 中已弃用。 (继承自 JavaObject) |
| SetStyle(DialogFragmentStyle, Int32) |
调用以自定义片段对话的基本外观和行为。 |
| SetTargetFragment(Fragment, Int32) |
此片段的可选目标。 (继承自 Fragment) |
| ShouldShowRequestPermissionRationale(String) |
获取在请求权限之前是否应以理由显示 UI。 (继承自 Fragment) |
| Show(FragmentManager, String) |
显示对话框,将片段添加到给定的 FragmentManager。 |
| Show(FragmentTransaction, String) |
显示对话框,使用现有事务添加片段,然后提交事务。 |
| StartActivity(Intent, Bundle) |
从片段包含的活动调用 Activity.startActivity(Intent,Bundle)。 (继承自 Fragment) |
| StartActivity(Intent) |
从片段包含的活动调用 Activity.startActivity(Intent)。 (继承自 Fragment) |
| StartActivityForResult(Intent, Int32, Bundle) |
从片段包含的活动调用 Activity.startActivityForResult(Intent,int,Bundle)。 (继承自 Fragment) |
| StartActivityForResult(Intent, Int32) |
从片段包含的活动调用 Activity.startActivityForResult(Intent,int)。 (继承自 Fragment) |
| StartIntentSenderForResult(IntentSender, Int32, Intent, ActivityFlags, ActivityFlags, Int32, Bundle) |
从片段包含的活动调用 Activity.startIntentSenderForResult(IntentSender、int、Intent、int、int、int、Bundle)。 (继承自 Fragment) |
| StartPostponedEnterTransition() |
调用了推迟EnterTransition()后,开始推迟转换。 (继承自 Fragment) |
| ToArray<T>() |
从此Java数组包装器创建托管数组。 (继承自 Object) |
| ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
| UnregisterForContextMenu(View) |
防止为给定视图显示上下文菜单。 (继承自 Fragment) |
| UnregisterFromRuntime() |
从互操作运行时取消注册此Java对等。 (继承自 Object) |
| Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><> (继承自 Object) |
| Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
| Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
| 名称 | 说明 |
|---|---|
| IJavaPeerable.Disposed() |
此类在 API 级别 28 中已弃用。 (继承自 JavaObject) |
| IJavaPeerable.Finalized() |
此类在 API 级别 28 中已弃用。 (继承自 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
此类在 API 级别 28 中已弃用。 (继承自 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
此类在 API 级别 28 中已弃用。 (继承自 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此类在 API 级别 28 中已弃用。 (继承自 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
此类在 API 级别 28 中已弃用。 (继承自 JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
此类在 API 级别 28 中已弃用。 |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
此类在 API 级别 28 中已弃用。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |