关系图如下:
Android主要提供四种对话框:
1:AlertDialog:功能最丰富,实际应用最广的对话框。
2:ProgressDialog:进度条对话框
3:DatePickerDialog:日期选择器对话框
4:TimePickerDialog:时间选择器对话框
创建一个对话框的步骤:

AlertDialog.Builder builder = new AlertDialog.Builder(this)                // 1:设置对话框标题                .setTitle("自定义列表项对话框")                        // 2:设置图标                .setIcon(R.drawable.tools)                        // 3:设置内容                .setMessage("对话框的测试内容\n第二行内容");        // 为AlertDialog.Builder添加“确定”按钮        setPositiveButton(builder);        // 为AlertDialog.Builder添加“取消”按钮        setNegativeButton(builder)                .create()                .show();

代码区:
main.xml代码区:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="center_horizontal"><EditText     android:id="@+id/show"    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:editable="false"/><Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="简单对话框"    android:onClick="simple"    /><Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="简单列表项对话框"    android:onClick="simpleList"    />  <Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="单选列表项对话框"    android:onClick="singleChoice"    />  <Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="多选列表项对话框"    android:onClick="multiChoice"    />  <Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="自定义列表项对话框"    android:onClick="customList"    />  <Button    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="自定义View对话框"    android:onClick="customView"    />                  LinearLayout>

Activity代码区:

public class MainActivity extends Activity {    TextView show;    String[] items = new String[] {            "aserbao", "Android",            " Java",            "IOS" };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        show = (TextView) findViewById(R.id.show);    }    public void simple(View source)    {        AlertDialog.Builder builder = new AlertDialog.Builder(this)            // 设置对话框标题            .setTitle("简单对话框")            // 设置图标            .setIcon(R.drawable.tools)            .setMessage("对话框的测试内容\n第二行内容");        // 为AlertDialog.Builder添加“确定”按钮        setPositiveButton(builder);        // 为AlertDialog.Builder添加“取消”按钮        setNegativeButton(builder)            .create()            .show();    }    public void simpleList(View source)    {        AlertDialog.Builder builder = new AlertDialog.Builder(this)                // 设置对话框标题                .setTitle("简单列表对话框")                        // 设置图标                .setIcon(R.drawable.tools)                        // 设置简单的列表项内容                .setItems(items, new OnClickListener()                {                    @Override                    public void onClick(DialogInterface dialog, int which)                    {                        show.setText("你选中了《" + items[which] + "》");                    }                });        // 为AlertDialog.Builder添加“确定”按钮        setPositiveButton(builder);        // 为AlertDialog.Builder添加“取消”按钮        setNegativeButton(builder)                .create()                .show();    }    public void singleChoice(View source)    {        AlertDialog.Builder builder = new AlertDialog.Builder(this)                // 设置对话框标题                .setTitle("单选列表项对话框")                        // 设置图标                .setIcon(R.drawable.tools)                        // 设置单选列表项,默认选中第二项(索引为1)                .setSingleChoiceItems(items, 1, new OnClickListener()                {                    @Override                    public void onClick(DialogInterface dialog, int which)                    {                        show.setText("你选中了《" + items[which] + "》");                    }                });            // 为AlertDialog.Builder添加“确定”按钮            setPositiveButton(builder);            // 为AlertDialog.Builder添加“取消”按钮            setNegativeButton(builder)                .create()                .show();    }    public void multiChoice(View source)    {        AlertDialog.Builder builder = new AlertDialog.Builder(this)                // 设置对话框标题                .setTitle("多选列表项对话框")                        // 设置图标                .setIcon(R.drawable.tools)                        // 设置多选列表项,设置勾选第2项、第4项                .setMultiChoiceItems(items                        , new boolean[]{false , true ,false ,true}, null);        // 为AlertDialog.Builder添加“确定”按钮        setPositiveButton(builder);        // 为AlertDialog.Builder添加“取消”按钮        setNegativeButton(builder)                .create()                .show();    }    public void customList(View source)    {        AlertDialog.Builder builder = new AlertDialog.Builder(this)                // 设置对话框标题                .setTitle("自定义列表项对话框")                        // 设置图标                .setIcon(R.drawable.tools)                        // 设置自定义列表项                .setAdapter(new ArrayAdapter(this                        , R.layout.array_item                        , items), null);        // 为AlertDialog.Builder添加“确定”按钮        setPositiveButton(builder);        // 为AlertDialog.Builder添加“取消”按钮        setNegativeButton(builder)                .create()                .show();    }    public void customView(View source)    {        // 装载app\src\main\res\layout\login.xml界面布局文件        TableLayout loginForm = (TableLayout)getLayoutInflater()                .inflate( R.layout.login, null);        new AlertDialog.Builder(this)                // 设置对话框的图标                .setIcon(R.drawable.tools)                // 设置对话框的标题                .setTitle("自定义View对话框")                // 设置对话框显示的View对象                .setView(loginForm)                // 为对话框设置一个“确定”按钮                .setPositiveButton("登录", new OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog,                        int which) {                        // 此处可执行登录处理                    }                })                // 为对话框设置一个“取消”按钮                .setNegativeButton("取消", new OnClickListener()                {                    @Override                    public void onClick(DialogInterface dialog,                                        int which)                    {                        // 取消登录,不做任何事情                    }                })                // 创建并显示对话框                .create()                .show();    }    private AlertDialog.Builder setPositiveButton(            AlertDialog.Builder builder)    {        // 调用setPositiveButton方法添加“确定”按钮        return builder.setPositiveButton("确定", new OnClickListener()        {            @Override            public void onClick(DialogInterface dialog, int which)            {                show.setText("单击了【确定】按钮!");            }        });    }    private AlertDialog.Builder setNegativeButton(            AlertDialog.Builder builder)    {        // 调用setNegativeButton方法添加“取消”按钮        return builder.setNegativeButton("取消", new OnClickListener()        {            @Override            public void onClick(DialogInterface dialog, int which)            {                show.setText("单击了【取消】按钮!");            }        });    }}

若有Android方面的问题,欢迎留言,看到后第一时间回复!

更多相关文章

  1. android通讯录列表,A~Z字母提示view
  2. android创建漂亮对话框
  3. android按钮事件触发拨号器
  4. 安卓开发ScrollView嵌套ListView只显示一行
  5. WindowsPhone下拉刷新控件 - PullRefreshListBox(一)
  6. Android(安卓)多点触摸 multi-touch
  7. Android常用Dialog总结
  8. Adroid 之 Builder 对话框
  9. Android开发经验总结——对话框的使用

随机推荐

  1. Android 搭建MVP+Retrofit+RxJava网络请
  2. Android至ViewPager添加切换动画——使用
  3. Activity 四种启动模式详细介绍
  4. 下载和安装Android Studio搭建Android集
  5. Android 日历提供器(三)
  6. [译]开/闭原则在Android中的实践
  7. 关于Android中layout的层次问题-----
  8. Android(安卓)将View 转化为bitmap 图片
  9. (android)system ui 内存优化
  10. 在android style.xml文件中使用自定义属