Most visited

Recently visited

Added in API level 1

AlertDialog

public class AlertDialog
extends Dialog implements DialogInterface

java.lang.Object
   ↳ android.app.Dialog
     ↳ android.app.AlertDialog
Known Direct Subclasses


对话框的一个子类,可以显示一个,两个或三个按钮。 如果您只想在此对话框中显示一个字符串,请使用setMessage()方法。 如果您想显示更复杂的视图,请查看名为“custom”的FrameLayout并将视图添加到它:

 FrameLayout fl = (FrameLayout) findViewById(android.R.id.custom);
 fl.addView(myView, new LayoutParams(MATCH_PARENT, WRAP_CONTENT));
 

该AlertDialog类需要自动设置护理WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM根据你是否在对话框返回从真正的任何意见View.onCheckIsTextEditor() 一般而言,您希望将此设置设置为不含文本编辑器的对话框,以便将其放置在当前输入法UI的顶部。 在调用onCreate(Bundle)之后,可以通过强制标志为所需模式来修改此行为。

Developer Guides

有关创建对话框的更多信息,请阅读 Dialogs开发人员指南。

Summary

Nested classes

class AlertDialog.Builder

 

Constants

int THEME_DEVICE_DEFAULT_DARK

此常数在API级别23中已弃用。请使用Theme_DeviceDefault_Dialog_Alert

int THEME_DEVICE_DEFAULT_LIGHT

此常数在API级别23中已弃用。请使用Theme_DeviceDefault_Light_Dialog_Alert

int THEME_HOLO_DARK

此常数在API级别23中已弃用。请使用Theme_Material_Dialog_Alert

int THEME_HOLO_LIGHT

此常数在API级别23中已弃用。请使用Theme_Material_Light_Dialog_Alert

int THEME_TRADITIONAL

此常数在API级别23中已弃用。请使用Theme_Material_Dialog_Alert

Inherited constants

From interface android.content.DialogInterface

Protected constructors

AlertDialog(Context context)

创建使用默认警报对话框主题的警报对话框。

AlertDialog(Context context, boolean cancelable, DialogInterface.OnCancelListener cancelListener)

创建使用默认警报对话框主题和自定义取消侦听器的警报对话框。

AlertDialog(Context context, int themeResId)

创建使用明确主题资源的警报对话框。

Public methods

Button getButton(int whichButton)

获取对话框中使用的按钮之一。

ListView getListView()

获取对话框中使用的列表视图。

boolean onKeyDown(int keyCode, KeyEvent event)

一键被按下。

boolean onKeyUp(int keyCode, KeyEvent event)

一个关键被释放。

void setButton(CharSequence text, DialogInterface.OnClickListener listener)

此方法已在API级别3中弃用。使用setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)BUTTON_POSITIVE

void setButton(int whichButton, CharSequence text, DialogInterface.OnClickListener listener)

当按下对话框的正面按钮时,设置一个侦听器被调用。

void setButton(CharSequence text, Message msg)

此方法在API级别3中已弃用。请将setButton(int, CharSequence, Message)BUTTON_POSITIVE setButton(int, CharSequence, Message)使用。

void setButton(int whichButton, CharSequence text, Message msg)

设置按下按钮时发送的消息。

void setButton2(CharSequence text, Message msg)

此方法在API级别3中已弃用。请将setButton(int, CharSequence, Message)BUTTON_NEGATIVE setButton(int, CharSequence, Message)使用。

void setButton2(CharSequence text, DialogInterface.OnClickListener listener)

此方法在API级别3中已弃用。请将setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)BUTTON_NEGATIVE setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)使用

void setButton3(CharSequence text, Message msg)

此方法在API级别3中已弃用。请将setButton(int, CharSequence, Message)BUTTON_NEUTRAL setButton(int, CharSequence, Message)使用。

void setButton3(CharSequence text, DialogInterface.OnClickListener listener)

此方法在API级别3中已弃用。请将setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)BUTTON_POSITIVE setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)使用

void setCustomTitle(View customTitleView)
void setIcon(Drawable icon)
void setIcon(int resId)

如果不需要图标,请将resId设置为0。

void setIconAttribute(int attrId)

设置由主题属性提供的图标。

void setInverseBackgroundForced(boolean forceInverseBackground)
void setMessage(CharSequence message)
void setTitle(CharSequence title)

为此对话框的窗口设置标题文本。

void setView(View view, int viewSpacingLeft, int viewSpacingTop, int viewSpacingRight, int viewSpacingBottom)

将视图设置为在该对话框中显示,指定在该视图周围显示的间距。

void setView(View view)

设置视图以显示在该对话框中。

Protected methods

void onCreate(Bundle savedInstanceState)

onCreate(Bundle)类似,您应该使用此方法初始化对话框,包括调用 setContentView(View)

Inherited methods

From class android.app.Dialog
From class java.lang.Object
From interface android.content.DialogInterface
From interface android.view.Window.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.View.OnCreateContextMenuListener

Constants

THEME_DEVICE_DEFAULT_DARK

Added in API level 14
int THEME_DEVICE_DEFAULT_DARK

此常数在API级别23中已弃用。
使用Theme_DeviceDefault_Dialog_Alert

AlertDialog(Context, int)特殊主题常量:在黑暗的背景下使用设备的默认警报主题。

常量值:4(0x00000004)

THEME_DEVICE_DEFAULT_LIGHT

Added in API level 14
int THEME_DEVICE_DEFAULT_LIGHT

此常数在API级别23中已弃用。
使用Theme_DeviceDefault_Light_Dialog_Alert

AlertDialog(Context, int)特殊主题常量:在浅色背景下使用设备的默认警报主题。

常量值:5(0x00000005)

THEME_HOLO_DARK

Added in API level 11
int THEME_HOLO_DARK

此常数在API级别23中已弃用。
使用Theme_Material_Dialog_Alert

AlertDialog(Context, int)特殊主题常量:在黑暗背景下使用全息警报主题。

常量值:2(0x00000002)

THEME_HOLO_LIGHT

Added in API level 11
int THEME_HOLO_LIGHT

此常数在API级别23中已弃用。
使用Theme_Material_Light_Dialog_Alert

AlertDialog(Context, int)特殊主题常量:以浅色背景使用全息警报主题。

常量值:3(0x00000003)

THEME_TRADITIONAL

Added in API level 11
int THEME_TRADITIONAL

此常数在API级别23中已弃用。
使用Theme_Material_Dialog_Alert

AlertDialog(Context, int)特殊主题常量:使用传统(预先Holo)警报对话框主题。

常数值:1(0x00000001)

Protected constructors

AlertDialog

Added in API level 1
AlertDialog (Context context)

创建使用默认警报对话框主题的警报对话框。

默认的警告对话框的主题是通过定义 alertDialogTheme在父 context的主题。

Parameters
context Context: the parent context

也可以看看:

AlertDialog

Added in API level 1
AlertDialog (Context context, 
                boolean cancelable, 
                DialogInterface.OnCancelListener cancelListener)

创建使用默认警报对话框主题和自定义取消侦听器的警报对话框。

这在功能上与以下内容相同:

     AlertDialog dialog = new AlertDialog(context);
     alertDialog.setCancelable(cancelable);
     alertDialog.setOnCancelListener(cancelListener);
 

默认的警告对话框的主题是通过定义 alertDialogTheme在父 context的主题。

Parameters
context Context: the parent context
cancelable boolean
cancelListener DialogInterface.OnCancelListener

也可以看看:

AlertDialog

Added in API level 1
AlertDialog (Context context, 
                int themeResId)

创建使用明确主题资源的警报对话框。

指定的主题资源( themeResId )应用于父级context的主题context 它可能被指定为包含完全填充主题的样式资源,例如Theme_Material_Dialog ,以取代父级context的主题(包括主要和重音颜色)中的所有属性。

要保留诸如主要和重点颜色之themeResId属性, themeResId可改为指定为覆盖主题,例如ThemeOverlay_Material_Dialog 这将仅覆盖将警报窗口设置为对话框所需的窗口属性。

可替代地, themeResId可被指定为 0使用父 context解析值的为 alertDialogTheme

Parameters
context Context: the parent context
themeResId int: the resource ID of the theme against which to inflate this dialog, or 0 to use the parent context's default alert dialog theme

也可以看看:

Public methods

getButton

Added in API level 3
Button getButton (int whichButton)

获取对话框中使用的按钮之一。 如果指定的按钮不存在或对话框尚未完全创建(例如,通过show()create() ),则返回null。

Parameters
whichButton int: The identifier of the button that should be returned. For example, this can be BUTTON_POSITIVE.
Returns
Button The button from the dialog, or null if a button does not exist.

getListView

Added in API level 3
ListView getListView ()

获取对话框中使用的列表视图。

Returns
ListView The ListView from the dialog.

onKeyDown

Added in API level 1
boolean onKeyDown (int keyCode, 
                KeyEvent event)

一键被按下。

如果重点视图不想要这个事件,则调用此方法。

缺省实现使用KEYCODE_BACK以稍后在 onKeyUp(int, KeyEvent)处理它。

Parameters
keyCode int: The value in event.getKeyCode().
event KeyEvent: Description of the key event.
Returns
boolean If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

onKeyUp

Added in API level 1
boolean onKeyUp (int keyCode, 
                KeyEvent event)

一个关键被释放。

缺省实现处理KEYCODE_BACK以关闭对话框。

Parameters
keyCode int: The value in event.getKeyCode().
event KeyEvent: Description of the key event.
Returns
boolean If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

setButton

Added in API level 1
void setButton (CharSequence text, 
                DialogInterface.OnClickListener listener)

此方法在API级别3中已被弃用。
使用setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)BUTTON_POSITIVE

当按下对话框的按钮1时,设置要调用的侦听器。

Parameters
text CharSequence: The text to display in button 1.
listener DialogInterface.OnClickListener: The DialogInterface.OnClickListener to use.

setButton

Added in API level 3
void setButton (int whichButton, 
                CharSequence text, 
                DialogInterface.OnClickListener listener)

当按下对话框的正面按钮时,设置一个侦听器被调用。

Parameters
whichButton int: Which button to set the listener on, can be one of BUTTON_POSITIVE, BUTTON_NEGATIVE, or BUTTON_NEUTRAL
text CharSequence: The text to display in positive button.
listener DialogInterface.OnClickListener: The DialogInterface.OnClickListener to use.

setButton

Added in API level 1
void setButton (CharSequence text, 
                Message msg)

此方法在API级别3中已被弃用。
使用setButton(int, CharSequence, Message)BUTTON_POSITIVE

Parameters
text CharSequence
msg Message

setButton

Added in API level 3
void setButton (int whichButton, 
                CharSequence text, 
                Message msg)

设置按下按钮时发送的消息。

Parameters
whichButton int: Which button to set the message for, can be one of BUTTON_POSITIVE, BUTTON_NEGATIVE, or BUTTON_NEUTRAL
text CharSequence: The text to display in positive button.
msg Message: The Message to be sent when clicked.

setButton2

Added in API level 1
void setButton2 (CharSequence text, 
                Message msg)

此方法在API级别3中已被弃用。
BUTTON_NEGATIVE setButton(int, CharSequence, Message)使用BUTTON_NEGATIVE

Parameters
text CharSequence
msg Message

setButton2

Added in API level 1
void setButton2 (CharSequence text, 
                DialogInterface.OnClickListener listener)

此方法在API级别3中已被弃用。
使用setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)BUTTON_NEGATIVE

当按下对话框的按钮2时,设置要调用的侦听器。

Parameters
text CharSequence: The text to display in button 2.
listener DialogInterface.OnClickListener: The DialogInterface.OnClickListener to use.

setButton3

Added in API level 1
void setButton3 (CharSequence text, 
                Message msg)

此方法在API级别3中已被弃用。
使用setButton(int, CharSequence, Message)BUTTON_NEUTRAL

Parameters
text CharSequence
msg Message

setButton3

Added in API level 1
void setButton3 (CharSequence text, 
                DialogInterface.OnClickListener listener)

此方法在API级别3中已被弃用。
使用setButton(int, CharSequence, android.content.DialogInterface.OnClickListener)BUTTON_POSITIVE

当按下对话框的按钮3时,设置要调用的侦听器。

Parameters
text CharSequence: The text to display in button 3.
listener DialogInterface.OnClickListener: The DialogInterface.OnClickListener to use.

setCustomTitle

Added in API level 1
void setCustomTitle (View customTitleView)

Parameters
customTitleView View

也可以看看:

setIcon

Added in API level 1
void setIcon (Drawable icon)

Parameters
icon Drawable

setIcon

Added in API level 1
void setIcon (int resId)

如果不需要图标,请将resId设置为0。

Parameters
resId int: the resourceId of the drawable to use as the icon or 0 if you don't want an icon.

setIconAttribute

Added in API level 11
void setIconAttribute (int attrId)

设置由主题属性提供的图标。 例如android.R.attr.alertDialogIcon

Parameters
attrId int: ID of a theme attribute that points to a drawable resource.

setInverseBackgroundForced

Added in API level 1
void setInverseBackgroundForced (boolean forceInverseBackground)

Parameters
forceInverseBackground boolean

setMessage

Added in API level 1
void setMessage (CharSequence message)

Parameters
message CharSequence

setTitle

Added in API level 1
void setTitle (CharSequence title)

为此对话框的窗口设置标题文本。

Parameters
title CharSequence: The new text to display in the title.

setView

Added in API level 3
void setView (View view, 
                int viewSpacingLeft, 
                int viewSpacingTop, 
                int viewSpacingRight, 
                int viewSpacingBottom)

将视图设置为在该对话框中显示,指定在该视图周围显示的间距。

Parameters
view View: The view to show in the content area of the dialog
viewSpacingLeft int: Extra space to appear to the left of view
viewSpacingTop int: Extra space to appear above view
viewSpacingRight int: Extra space to appear to the right of view
viewSpacingBottom int: Extra space to appear below view

setView

Added in API level 1
void setView (View view)

设置视图以显示在该对话框中。

Parameters
view View

Protected methods

onCreate

Added in API level 1
void onCreate (Bundle savedInstanceState)

onCreate(Bundle)类似,您应该使用此方法初始化对话框,包括调用 setContentView(View)

Parameters
savedInstanceState Bundle: If this dialog is being reinitialized after a the hosting activity was previously shut down, holds the result from the most recent call to onSaveInstanceState(), or null if this is the first time.

Hooray!