AlertDialog(对话框)详解 您所在的位置:网站首页 设置对话框图标显示的方法是什么 AlertDialog(对话框)详解

AlertDialog(对话框)详解

2023-12-20 02:15| 来源: 网络整理| 查看: 265

    AlertDialog可以在当前的界面上显示一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,因此AlertDialog一般是用于提示一些非常重要的内容或者警告信息。

1.创建AlertDialog

    首先,我们来了解一下AlertDialog的大体创建顺序。与TextView、Button这些控件稍有不同,AlertDialog并不是初始化(findViewById)之后就直接调用各种方法了。仔细想想AlertDialog的使用场景, 它并不像TextView和Button那些控件似的一般都是固定在界面上,而是在某个时机才会触发出来(比如用户点击了某个按钮或者断网了)。所以AlertDialog并不需要到布局文件中创建,而是在代码中通过构造器(AlertDialog.Builder)来构造标题、图标和按钮等内容的。

    1.创建构造器AlertDialog.Builder的对象;     2.通过构造器对象调用setTitle、setMessage、setIcon等方法构造对话框的标题、信息和图标等内容;     3.根据需要调用setPositive/Negative/NeutralButton()方法设置正面按钮、负面按钮和中立按钮;     4.调用构造器对象的create方法创建AlertDialog对象;     5.AlertDialog对象调用show方法,让对话框在界面上显示。注:AlertDialog.Builder自己也有一个show方法,可以显示对话框,所以上面的第4、第5步可以简化为一步。

下面,我们就来创建几种常用的AlertDialog吧。新建一个工程,在activity_main.xml布局文件上放置五个按钮,点击按钮就会有相应的对话框弹出。

1.1 布局文件代码如下: 1.2 MainActivity的主要代码如下所示: package com.fd.alertdialog; import android.content.DialogInterface; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity implements View.OnClickListener { public static String TAG = MainActivity.class.getSimpleName(); private int chedkedItem = 0; private String name; private String pwd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bindView(); } private void bindView() { Button btn_normal_dialog = (Button) findViewById(R.id.btn_normal_dialog); Button btn_item_dialog = (Button) findViewById(R.id.btn_item_dialog); Button btn_single_choice = (Button) findViewById(R.id.btn_single_choice); Button btn_multi_choice = (Button) findViewById(R.id.btn_multi_choice); Button btn_custom_dialog = (Button) findViewById(R.id.btn_custom_dialog); btn_normal_dialog.setOnClickListener(this); btn_item_dialog.setOnClickListener(this); btn_single_choice.setOnClickListener(this); btn_multi_choice.setOnClickListener(this); btn_custom_dialog.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_normal_dialog: tipDialog(); //提示对话框 break; case R.id.btn_item_dialog: itemListDialog(); //列表对话框 break; case R.id.btn_single_choice: singleChoiceDialog(); //单选对话框 break; case R.id.btn_multi_choice: multiChoiceDialog(); //多选对话框 break; case R.id.btn_custom_dialog: customDialog(); //自定义对话框 break; default: break; } } }

代码比较简单,这里就不做详细讲解了。接下来看一下各个对话框的具体代码。

2.普通提示对话框

    提示对话框应该是最常见的AlertDialog了,其上主要是提示标题,消息主体,底部“取消”、“确定”等按钮。

/** * 提示对话框 */ public void tipDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("提示:"); builder.setMessage("这


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有