------------------------------------------------------------------------------------------------------
此文章仅作为学习交流所用
转载或引用请务必注明原文地址:
http://blog.csdn.net/luzhenrong45/article/details/21340435
或联系作者:[email protected]
谢谢!
------------------------------------------------------------------------------------------------------
一.使用AlertDialog创建弹出窗口步骤
前面说过,使用AlertDialog.Builder弹出窗口,一般,是下面几个步骤.
(一)创建AltrtDialog.Builder对象,该对象是AlterDialog的创建器
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AlertDialog.Builder( Context context)
Constructor using a context for this builder and the
AlertDialog it creates.
|
|||||||||||
AlertDialog.Builder( Context context, int theme)
Constructor using a context and theme for this builder and the
AlertDialog it creates.
|
(二)调用 AltrtDialog.Builder的方法为对话框设定图标,标题,内容等.
AlertDialog.Builder | setIcon( Drawable icon)
Set the
Drawable to be used in the title.
|
AlertDialog.Builder | setIcon(int iconId)
Set the resource id of the
Drawable to be used in the title.
|
AlertDialog.Builder | setMessage( CharSequence message)
Set the message to display.
|
AlertDialog.Builder | setMessage(int messageId)
Set the message to display using the given resource id.
|
AlertDialog.Builder | setOnKeyListener( DialogInterface.OnKeyListener onKeyListener)
Sets the callback that will be called if a key is dispatched to the dialog.
|
AlertDialog.Builder | setPositiveButton(int textId, DialogInterface.OnClickListener listener)
Set a listener to be invoked when the positive button of the dialog is pressed.
|
AlertDialog.Builder | setPositiveButton( CharSequence text, DialogInterface.OnClickListener listener)
Set a listener to be invoked when the positive button of the dialog is pressed.
|
AlertDialog.Builder | setTitle( CharSequence title)
Set the title displayed in the
Dialog .
|
AlertDialog.Builder | setTitle(int titleId)
Set the title using the given resource id.
|
AlertDialog.Builder | setView( View view)
Set a custom view to be the contents of the Dialog.
|
(三)调用 AltrtDialog.Builder的create()方法创建对话框
AlertDialog | create()
Creates a
AlertDialog with the arguments supplied to this builder.
|
(四)调用 AltrtDialog.Builder的show()方法显示对话框
AlertDialog | show()
Creates a
AlertDialog with the arguments supplied to this builder and
show() 's the dialog
|
二.使用AlertDialog.Builder加载自定义View
按照上面的步骤,使用的是默认的AlertDialog.Builder的窗口显示方式,如果想要显示内容丰富的弹出窗口,如里面有一些输入框之类的,如下面的图片所示,那么,就需要我们使用AlertDialog.Builder.setView(View v)方法加载自定义的View来作为窗口的显示方式了.
(一) 这里自定义的布局文件为 order.xml.
首先,获取需要加载的布局文件order.xml, 这里采用的是LayoutInflater,而不是我们平时使用的 findViewById( ).LayoutInflater的作用类似于 findViewById(),不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化!而 findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。使用LayoutInflater来获取布局文件有三种方式:
第一种方式:
以前我们在Activity里面使用某个控件时,通常是直接使用findViewById()方法来获取这个控件,而如果我们要使用AlertDialog.Builder显示的自定义Layout里面的控件,需要注意要显示地用View对象调用findViewById()这个方法.如上面创建的是View layout对象.那么,需要使用如下访求获取EditText orderEditSH.
使用AlertDialog.Builder弹出上面自定义窗口的完整代码如下: