Android中Dialog的常用方法汇总和自定义Dialog的步骤.txt

一、系统自带Dialog对话框的使用:

警告框(AlertDialog)是在项目中出现的最简单的一种对话框,主要的目的是为用户显示一条警告信息,AlertDialog也是在对话框中使用最多的一个类,而且是Dialog的直接子类,此类继承结构如下: 
java.lang.Object
       ?    android.app.Dialog
           ?    android.app.AlertDialog 
如果要想实例化AlertDialog类往往都依靠其内部类:AlertDialog.Builder完成。

方法:
public void setTitle(CharSequence title)        设置对话框的显示标题

public void setTitle(int titleId)               设置对话框的显示标题,内容为资源文件指定

public void show()                              显示对话框

public void hide()                              隐藏对话框

public boolean isShowing()                      判断对话框是否显示

public void setContentView(View view)           设置View组件

public void setContentView(int layoutResID)     设置View组件的ID

public void dismiss()                           隐藏对话框

public void closeOptionsMenu()                  关闭选项菜单

public void setDismissMessage(Message msg)      设置隐藏对话框时的消息

public void setCancelable(boolean flag)         设置是否可以取消

public void setCancelMessage(Message msg)       设置对话框取消时的消息

public void cancel()                            取消对话框,与dismiss()方法类似

public Window getWindow()                       取得Window对象

public void setOnShowListener(
DialogInterface.OnShowListener listener)        设置对话框打开时监听

public void setOnDismissListener (
DialogInterface.OnDismissListener listener)     对话框隐藏时监听

public void setOnCancelListener(
DialogInterface.OnCancelListener listener)      设置对话框取消时监听

*********************************************************************************************************************************************

二、AlertDialog.Builder的常用方法:

public AlertDialog.Builder(Context context)                                                 创建AlertDialog.Builder对象

public AlertDialog.Builder setMessage (int messageId)                                       设置显示信息的资源ID

public AlertDialog.Builder setMessage (CharSequence message)                                设置显示信息的字符串

public AlertDialog.Builder setView(View view)                                               设置显示的View组件

public AlertDialog.Builder setSingleChoiceItems 
(CharSequence[] items, int checkedItem, DialogInterface.OnClickListener listener)           设置对话框显示一个单选的List,指定默认选中项,同时设置监听处理操作

public AlertDialog.Builder setSingleChoiceItems 
(ListAdapter adapter, int checkedItem, DialogInterface.OnClickListener listener)            设置对话框显示一个单选的List,指定默认选中项,同时设置监听处理操作

public AlertDialog.Builder setMultiChoiceItems 
(CharSequence[] items, boolean[] checkedItems, DialogInterface.OnMultiChoiceClickListener listener) 设置对话框显示一个复选的List,同时设置监听处理操作

public AlertDialog.Builder setPositiveButton 
(CharSequence text, DialogInterface.OnClickListener listener)                               为对话框添加一个确认按钮,同时设置监听操作

public AlertDialog.Builder setPositiveButton 
(int textId, DialogInterface.OnClickListener listener)                                      为对话框添加一个确认按钮,显示内容由资源文件指定,并设置监听操作

public AlertDialog.Builder setNegativeButton 
(CharSequence text, DialogInterface.OnClickListener listener)                               为对话框设置一个取消按钮,并设置监听操作

public AlertDialog.Builder setNegativeButton 
(int textId, DialogInterface.OnClickListener listener)                                      为对话框设置一个取消按钮,显示内容由资源文件指定,并设置监听操作

public AlertDialog.Builder setNeutralButton
(CharSequence text, DialogInterface.OnClickListener listener)                               设置一个普通按钮,并设置监听操作

public AlertDialog.Builder setNeutralButton
(int textId, DialogInterface.OnClickListener listener)                                      设置一个普通按钮,显示内容由资源文件指定,并设置监听操作

public AlertDialog.Builder setItems
(CharSequence[] items, DialogInterface.OnClickListener listener)                            将信息内容设置为列表项,同时设置监听操作

public AlertDialog.Builder setItems
(int itemsId, DialogInterface.OnClickListener listener)                                     将信息内容设置为列表项,列表项内容由资源文件指定,同时设置监听操作

public AlertDialog create()                                                                 创建AlertDialog的实例化对象

public AlertDialog.Builder setIcon(Drawable icon)                                           设置显示的图标

public AlertDialog.Builder setIcon(int iconId)                                              设置要显示图标的资源ID

*********************************************************************************************************************************************

三、使用自定义布局Dialog的步骤:

1、自定义布局xml文件acvitity_custom_dialog.xml;
        给自定义布局中需要获取文本内容的控件添加id

2、获取布局加载器对象 
    LayoutInflater factory=LayoutInflater.from(context),获取布局文件factory;

3、将布局文件factory转换为View
    View myview=factory.inflate();

4、在Dialog中setView(myview),设置View视图

5、使用myview.findViewById()获取布局内控件对象,<这里通过ID获取对象一定要加上myview不然就是调用当前主布局中的ID,会报空指针异常>










  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以按照以下步骤定义一个弹窗: 1. 在Activity重写onCreateDialog()方法,返回一个Dialog对象。 2. 在Dialog对象的构造函数设置弹窗的样式、布局和监听事件。 3. 在Activity调用showDialog()方法显示弹窗。 以下是示例代码: ```java public class MainActivity extends AppCompatActivity { private static final int DIALOG_CUSTOM = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 显示自定义弹窗 showDialog(DIALOG_CUSTOM); } @Override protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_CUSTOM: // 创建自定义弹窗 Dialog dialog = new Dialog(this); dialog.setContentView(R.layout.dialog_custom); dialog.setTitle("自定义弹窗"); // 设置按钮的监听事件 Button btnOk = dialog.findViewById(R.id.btn_ok); btnOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 处理确定按钮的点击事件 Toast.makeText(MainActivity.this, "点击了确定按钮", Toast.LENGTH_SHORT).show(); dismissDialog(DIALOG_CUSTOM); } }); Button btnCancel = dialog.findViewById(R.id.btn_cancel); btnCancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 处理取消按钮的点击事件 Toast.makeText(MainActivity.this, "点击了取消按钮", Toast.LENGTH_SHORT).show(); dismissDialog(DIALOG_CUSTOM); } }); return dialog; } return super.onCreateDialog(id); } } ``` 在上面的代码,我们创建了一个自定义弹窗,并设置了确定和取消按钮的点击事件。在Activity的onCreate()方法,调用showDialog()方法显示弹窗。当用户点击按钮时,弹窗会被关闭。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值