Android之创建基础Dialog(对话框)

一、对话框
消息提示机制,常用于向用户传递消、提示或警告用户的行为。
常用的方法有:
setTitle setMessage create show
二、创建基础对话框的一般步骤
方法1:
1、实例化一个构建器Builder
2、设置对话框样式
3、展示

①activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

   <Button
       android:id="@+id/normal_dialog_btn"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="显示一个普通对话框"
       android:onClick="myClick"/>

    <Button
        android:id="@+id/diy_dialog_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="显示一个自定义对话框"
        android:onClick="myClick"/>

</LinearLayout>

②MainActivity.java

public void myClick(View view) {

        switch (view.getId()){
            case R.id.normal_dialog_btn:
                //1、实例化一个构建器Builder
                //AlertDialog的构造方法是protected,所以是没办法直接new的,先new它的构建器
                AlertDialog.Builder builder=new AlertDialog.Builder(this);
                
                //2、设置对话框样式
                builder.setTitle("提示");//设置标题
                builder.setMessage("您确定退出程序吗?");//设置提示性语句
                //设置按钮:确定或取消
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        finish();
                    }
                });

                builder.setNegativeButton("取消",null);
                
                //3、展示
                builder.show();
                //上一句抵下面两句话
//                AlertDialog dialog=builder.create();
//                dialog.show();

                break;
            case R.id.diy_dialog_btn:
                break;
        }

方法2:

 public void showNormalDialog(){
        AlertDialog dialog=new AlertDialog.Builder(this).create();
        dialog.setTitle("提示");//设置标题
        dialog.setMessage("您确定退出程序吗?");
        dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                finish();
            }
        });
        dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //
            }
        });
        dialog.show();
    }
public void myClick(View view) {

        switch (view.getId()){
            case R.id.normal_dialog_btn:
                showNormalDialog();
                break;
            case R.id.diy_dialog_btn:
                break;
        }
    }
发布了34 篇原创文章 · 获赞 5 · 访问量 7489

猜你喜欢

转载自blog.csdn.net/qq_39438055/article/details/104110073