欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android对话框

程序员文章站 2022-05-16 11:07:08
...

Android对话框

1.系统对话框

代码如下:

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode==KeyEvent.KEYCODE_BACK){
            final AlertDialog.Builder builder1=new AlertDialog.Builder(CustomDialogActivity.this);
            builder1.setTitle("系统");
            builder1.setMessage("对话框");
            builder1.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    finish();
                }
            });
            builder1.setNegativeButton("取消",null);
            builder1.show();
        }

        return super.onKeyDown(keyCode, event);
    }

点击Back键,显示系统对话框,效果如图:

Android对话框

2.自定义对话框

代码如下:

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AlertDialog.Builder builder=new AlertDialog.Builder(CustomDialogActivity.this);
                builder.setTitle("自定义");
                builder.setView(R.layout.custommessage_item);
                builder.setCancelable(false);
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                });
                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                });
                builder.show();
            }
        });

效果如图:

Android对话框

3.圆形对话框

代码如下:

button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ProgressDialog pd=new ProgressDialog(CustomDialogActivity.this);
                pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                pd.setTitle("对话框");
                pd.setIcon(R.mipmap.ic_launcher);
                pd.setMessage("圆形对话框");
                pd.setIndeterminate(false);
                pd.setCancelable(true);
                pd.setButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                    }
                });
                pd.show();
            }
        });

效果如图:

Android对话框

4.年月日对话框

代码如下:

 button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                DatePickerDialog datePickerDialog=new DatePickerDialog(CustomDialogActivity.this, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker datePicker, int year, int month, int day) {
                        Toast.makeText(CustomDialogActivity.this, "所选择的日期:"+year+"-"+(month+1)+"-"+day, Toast.LENGTH_SHORT).show();
                    }
                },2018,0,17);
                datePickerDialog.show();
            }
        });

效果如图:

Android对话框

5.钟表对话框

代码如下:

button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                TimePickerDialog timePickerDialog=new TimePickerDialog(CustomDialogActivity.this, new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker timePicker, int h, int m) {
                        button4.setText(h+":"+m);
                    }
                },30,20,true);
                timePickerDialog.show();
            }
        });

效果如图:

Android对话框

6.进度条对话框

代码如下:

package com.example.exercisehomework;

import android.app.ProgressDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Main3Activity extends AppCompatActivity {
    private Button jindutiao;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);

        jindutiao=findViewById(R.id.jindutiao);

        jindutiao.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                final int MAX_PROGRESS = 100;
                final ProgressDialog progressDialog =
                        new ProgressDialog(Main3Activity.this);
                progressDialog.setProgress(0);
                progressDialog.setTitle("进度条对话框");
                progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                progressDialog.setMax(MAX_PROGRESS);
                progressDialog.show();
    /* 模拟进度增加的过程
     * 新开一个线程,每个100ms,进度增加1
     */
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        int progress= 0;
                        while (progress < MAX_PROGRESS){
                            try {
                                Thread.sleep(100);
                                progress++;
                                progressDialog.setProgress(progress);
                            } catch (InterruptedException e){
                                e.printStackTrace();
                            }
                        }
                        // 进度达到最大值后,窗口消失
                        progressDialog.cancel();
                    }
                }).start();

            }
        });
    }
}

效果如图:

Android对话框