(5)Dialog用法介绍

在android开发中经常会用到对话框,以便于从用户那里获得用户的意图,已经信息等
(1)这里写图片描述
这是最简单的Dialog对话框
public void showDialog() {

        DialogInterface .OnClickListener diClickListener=new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                switch (which) {
                case Dialog.BUTTON_POSITIVE:
                    Toast.makeText(MainActivity.this, "ok clicked", Toast.LENGTH_SHORT).show();
                    break;
                case Dialog.BUTTON_NEGATIVE:
                    Toast.makeText(MainActivity.this, "Cancel clicked", Toast.LENGTH_SHORT).show();
                default:
                    break;
                }
            }
        };
        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
        builder.setMessage("确定要退出吗?");
        builder.setTitle("提示");
        builder.setPositiveButton("确认", diClickListener);
        builder.setNegativeButton("取消", diClickListener);
        builder.create().show();
    } 

(2)列表对话框
这里写图片描述

String[] items={"java","c++","c#"};
public void Dialog3(){


        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
        builder.setTitle("列表");
        builder.setItems(items, new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
            Toast.makeText(MainActivity.this,items[which], Toast.LENGTH_SHORT).show();
            }
        } );
            builder.create().show();
    }

(3)多选对话框
这里写图片描述

    public void Dialog4(){

DialogInterface.OnClickListener dialogInterface=new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                switch (which) {
                case Dialog.BUTTON_POSITIVE:
                    break;
                case Dialog.BUTTON_NEGATIVE:
                    break;
                default:
                    break;
                }
            }
        };
        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
        builder.setTitle("多选框");
        builder.setMultiChoiceItems(items,itemsChecked, new DialogInterface.OnMultiChoiceClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                // TODO Auto-generated method stub
                Toast.makeText(MainActivity.this, items[which]+(isChecked?"checked":"unchecked"), Toast.LENGTH_SHORT).show();
            }
        });
        builder.setPositiveButton("确认", dialogInterface);
        builder.setNegativeButton("取消", dialogInterface);
        builder.create().show();        
    }

(5)输入对话框
这里写图片描述
这里写图片描述

public void Dialog5(){
final EditText texta=new EditText(this);
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setTitle(“请输入”);

    builder.setIcon(android.R.drawable.ic_dialog_info).setView(texta);
    //final String Thing=
    builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
            inText.setText(texta.getText().toString());
        }
    });
    builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub

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

补充两句
这里我们将输入的信息显示在界面上 这里用到了EditText和TextView

代码如下

EditText texta=new EditText(this);//声明一个EditText 对象 
String Thing=texta.getText().toString()//获取EditText里面的io流 
private TextView inText;//声明一个TextView对象

inText.setText(Thing);

(6)进度条对话框

这里写图片描述

进度条对话框要用到
ProgressDialog类
然后我们写一个事件 让他运行5秒 然后结束

public void Dialog6(){
      // ProgressDialog myDialog=new ProgressDialog(this, "进度","加载中~~",true);
       final ProgressDialog MyDialog = ProgressDialog.show( this, "进度" , " Loading. Please wait ... ", true);
    new Thread(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
          try {
            Thread.sleep(5000);
            MyDialog.dismiss();//清除对话框
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        }
    }).start();
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值