Most visited

Recently visited

DialogFragment

public class DialogFragment
extends Fragment implements DialogInterface.OnCancelListener, DialogInterface.OnDismissListener

java.lang.Object
   ↳ android.support.v4.app.Fragment
     ↳ android.support.v4.app.DialogFragment
Known Direct Subclasses
Known Indirect Subclasses


静态库支持版本的框架DialogFragment 用于编写在Android 3.0之前的平台上运行的应用程序。 在Android 3.0或更高版本上运行时,此实现仍在使用; 它不会尝试切换到框架的实现。 请参阅框架SDK文档以了解类概述。

Summary

Constants

int STYLE_NORMAL

样式为 setStyle(int, int) :基本的常规对话框。

int STYLE_NO_FRAME

风格为setStyle(int, int) :根本不画任何框架; onCreateView(LayoutInflater, ViewGroup, Bundle)返回的视图层次结构完全负责绘制对话框。

int STYLE_NO_INPUT

样式为 setStyle(int, int) :与 STYLE_NO_FRAME类似,但也会禁用对话框的所有输入。

int STYLE_NO_TITLE

样式为 setStyle(int, int) :不包含标题区域。

Public constructors

DialogFragment()

Public methods

void dismiss()

关闭片段及其对话框。

void dismissAllowingStateLoss()

版本 dismiss()使用 FragmentTransaction.commitAllowingStateLoss()

Dialog getDialog()
boolean getShowsDialog()

返回当前值 setShowsDialog(boolean)

int getTheme()
boolean isCancelable()

返回 setCancelable(boolean)的当前值。

void onActivityCreated(Bundle savedInstanceState)

当片段的活动已经创建并且该片段的视图层次被实例化时调用。

void onAttach(Context context)

当片段首次附加到其上下文时调用。

void onCancel(DialogInterface dialog)

这个方法将在对话框被取消时被调用。

void onCreate(Bundle savedInstanceState)

被调用来做一个片段的初始创建。

Dialog onCreateDialog(Bundle savedInstanceState)

重写以构建您自己的自定义Dialog容器。

void onDestroyView()

删除对话框。

void onDetach()

当片段不再附加到其活动时调用。

void onDismiss(DialogInterface dialog)

该方法将在对话框关闭时调用。

void onSaveInstanceState(Bundle outState)

打电话询问片段以保存其当前的动态状态,以便稍后可以在重新启动其进程的新实例时重新构建它。

void onStart()

当片段对用户可见时调用。

void onStop()

当片段不再启动时调用。

void setCancelable(boolean cancelable)

控制显示的对话框是否可取消。

void setShowsDialog(boolean showsDialog)

控制这个片段是否应该显示在对话框中。

void setStyle(int style, int theme)

调用来自定义片段对话框的基本外观和行为。

int show(FragmentTransaction transaction, String tag)

显示对话框,使用现有事务添加片段,然后提交事务。

void show(FragmentManager manager, String tag)

显示对话框,将片段添加到给定的FragmentManager。

Inherited methods

From class android.support.v4.app.Fragment
From class java.lang.Object
From interface android.content.ComponentCallbacks
From interface android.view.View.OnCreateContextMenuListener
From interface android.content.DialogInterface.OnCancelListener
From interface android.content.DialogInterface.OnDismissListener

Constants

STYLE_NORMAL

int STYLE_NORMAL

样式为 setStyle(int, int) :基本的普通对话框。

常量值:0(0x00000000)

STYLE_NO_FRAME

int STYLE_NO_FRAME

样式为setStyle(int, int) :根本不画任何框架; onCreateView(LayoutInflater, ViewGroup, Bundle)返回的视图层次结构完全负责绘制对话框。

常量值:2(0x00000002)

STYLE_NO_INPUT

int STYLE_NO_INPUT

样式为setStyle(int, int) :与STYLE_NO_FRAME类似,但也禁用对话框的所有输入。 用户不能触摸它,并且其窗口不会接收输入焦点。

常量值:3(0x00000003)

STYLE_NO_TITLE

int STYLE_NO_TITLE

样式为 setStyle(int, int) :不包含标题区域。

常数值:1(0x00000001)

Public constructors

DialogFragment

DialogFragment ()

Public methods

dismiss

void dismiss ()

关闭片段及其对话框。 如果片段被添加到后端堆栈,则将弹出所有后退堆栈状态直到并包括该条目。 否则,一个新的事务将被提交去除片段。

dismissAllowingStateLoss

void dismissAllowingStateLoss ()

版本dismiss()使用FragmentTransaction.commitAllowingStateLoss() 查看链接的文档以获取更多详细信

getDialog

Dialog getDialog ()

Returns
Dialog

getShowsDialog

boolean getShowsDialog ()

返回 setShowsDialog(boolean)的当前值。

Returns
boolean

getTheme

int getTheme ()

Returns
int

isCancelable

boolean isCancelable ()

返回 setCancelable(boolean)的当前值。

Returns
boolean

onActivityCreated

void onActivityCreated (Bundle savedInstanceState)

当片段的活动已经创建并且该片段的视图层次被实例化时调用。 一旦这些部分到位,它就可以用来进行最终的初始化,例如检索视图或恢复状态。 对于使用setRetainInstance(boolean)保留其实例的片段也很有用,因为此回调告诉片段何时与新活动实例完全关联。 这是在onCreateView(LayoutInflater, ViewGroup, Bundle)之后和onViewStateRestored(Bundle)之前调用的。

Parameters
savedInstanceState Bundle: If the fragment is being re-created from a previous saved state, this is the state.

onAttach

void onAttach (Context context)

当片段首次附加到其上下文时调用。 此后将调用onCreate(Bundle)

Parameters
context Context

onCancel

void onCancel (DialogInterface dialog)

这个方法将在对话框被取消时被调用。

Parameters
dialog DialogInterface: The dialog that was canceled will be passed into the method.

onCreate

void onCreate (Bundle savedInstanceState)

被调用来做一个片段的初始创建。 这是在onAttach(Activity)之后和onCreateView(LayoutInflater, ViewGroup, Bundle)之前调用的。

请注意,这可以在片段的活动仍处于创建过程中时调用。 因此,您不能依赖于此时正在初始化活动的内容视图层次结构。 如果您想在创建活动本身后进行工作,请参阅onActivityCreated(Bundle)

任何恢复的子片段将在基本 Fragment.onCreate方法返回之前创建。

Parameters
savedInstanceState Bundle: If the fragment is being re-created from a previous saved state, this is the state.

onCreateDialog

Dialog onCreateDialog (Bundle savedInstanceState)

重写以构建您自己的自定义Dialog容器。 这通常用于显示AlertDialog而不是通用的Dialog; 当这样做时,由于AlertDialog处理其自己的内容,因此不需要实施onCreateView(LayoutInflater, ViewGroup, Bundle)

此方法将在onCreate(Bundle)之后和onCreateView(LayoutInflater, ViewGroup, Bundle)之前调用。 默认实现只是实例化并返回一个Dialog类。

注意:DialogFragment拥有Dialog.setOnCancelListenerDialog.setOnDismissListener回调。 你不能自己设置它们。 要了解这些事件,请覆盖onCancel(DialogInterface)onDismiss(DialogInterface)

Parameters
savedInstanceState Bundle: The last saved instance state of the Fragment, or null if this is a freshly created Fragment.
Returns
Dialog Return a new Dialog instance to be displayed by the Fragment.

onDestroyView

void onDestroyView ()

删除对话框。

onDetach

void onDetach ()

当片段不再附加到其活动时调用。 这是在onDestroy()之后调用的。

onDismiss

void onDismiss (DialogInterface dialog)

该方法将在对话框关闭时调用。

Parameters
dialog DialogInterface: The dialog that was dismissed will be passed into the method.

onSaveInstanceState

void onSaveInstanceState (Bundle outState)

打电话询问片段以保存其当前的动态状态,以便稍后可以在重新启动其进程的新实例时重新构建它。 如果片段的新实例后需要创建,您的包放在这里的数据将提供给包可onCreate(Bundle)onCreateView(LayoutInflater, ViewGroup, Bundle) ,并onActivityCreated(Bundle)

这对应于Activity.onSaveInstanceState(Bundle) ,其中的大部分讨论也适用于此。 但请注意: 此方法可能在onDestroy()之前的任何时间被调用 有很多情况下,碎片可能大部分被拆除(例如,当放置在背堆栈上而没有UI显示时),但是它的状态不会被保存直到其拥有的活动实际上需要保存其状态。

Parameters
outState Bundle: Bundle in which to place your saved state.

onStart

void onStart ()

当片段对用户可见时调用。 这通常与包含Activity的生命周期的Activity.onStart相关联。

onStop

void onStop ()

当片段不再启动时调用。 这通常与包含Activity的生命周期的Activity.onStop相关联。

setCancelable

void setCancelable (boolean cancelable)

控制显示的对话框是否可取消。 使用它而不是直接调用Dialog.setCancelable(boolean) ,因为DialogFragment需要根据这个改变它的行为。

Parameters
cancelable boolean: If true, the dialog is cancelable. The default is true.

setShowsDialog

void setShowsDialog (boolean showsDialog)

控制这个片段是否应该显示在对话框中。 如果未设置,则不会在onActivityCreated(Bundle)创建对话框,因此不会将片段的视图层次添加到该对话框中。 这使您可以将其用作普通片段(嵌入到其活动的内部)。

这通常是基于片段是否与传递给FragmentTransaction.add(int, Fragment)的容器视图ID相关联而设置的。 如果片段添加了容器,则setShowsDialog将被初始化为false; 否则,这将是真实的。

Parameters
showsDialog boolean: If true, the fragment will be displayed in a Dialog. If false, no Dialog will be created and the fragment's view hierarchly left undisturbed.

setStyle

void setStyle (int style, 
                int theme)

调用来自定义片段对话框的基本外观和行为。 这可以用于一些常见的对话行为,为您选择标志,主题和其他选项。 通过自己手动设置对话框和窗口属性可以达到同样的效果。 在片段的对话框创建后调用它将不起作用。

Parameters
style int: Selects a standard style: may be STYLE_NORMAL, STYLE_NO_TITLE, STYLE_NO_FRAME, or STYLE_NO_INPUT.
theme int: Optional custom theme. If 0, an appropriate theme (based on the style) will be selected for you.

show

int show (FragmentTransaction transaction, 
                String tag)

显示对话框,使用现有事务添加片段,然后提交事务。

Parameters
transaction FragmentTransaction: An existing transaction in which to add the fragment.
tag String: The tag for this fragment, as per FragmentTransaction.add.
Returns
int Returns the identifier of the committed transaction, as per FragmentTransaction.commit().

show

void show (FragmentManager manager, 
                String tag)

显示对话框,将片段添加到给定的FragmentManager。 这对于显式创建事务来说很方便,可以使用给定的标记添加片段并提交它。 并不事务添加到后退堆栈。 当片段被解散时,将执行新的事务以将其从活动中移除。

Parameters
manager FragmentManager: The FragmentManager this fragment will be added to.
tag String: The tag for this fragment, as per FragmentTransaction.add.

Hooray!