android dialog汇总

1: AlertDialog


        setTitle():给对话框设置title.
        setIcon():给对话框设置图标。
        setMessage():设置对话框的提示信息
        setItems():设置对话框要显示的一个list,一般用于要显示几个命令时
        setSingleChoiceItems():设置对话框显示一个单选的List
        setMultiChoiceItems():用来设置对话框显示一系列的复选框。
        setPositiveButton():给对话框添加”Yes”按钮。
        setNegativeButton():给对话框添加”No”按钮。
        setNeutralButton: 给对话框添加中间的按钮
        creat: 创建对话框
        show():显示对话框,一般放最后

使用如下:

private void dialogText(){
        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
        
//        builder.setMessage("你确定吗????");//使用别的填充内容如setItems()就不能用setMessage;
        builder.setTitle("独自漂泊");
        builder.setIcon(R.drawable.ic_launcher);
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            
            @Override
            public void onClick(DialogInterface arg0, int arg1) {
                // TODO Auto-generated method stub
                tv1.setText("点击的是确定");
            }
        });
        builder.setNegativeButton("取消",new DialogInterface.OnClickListener() {
            
            @Override
            public void onClick(DialogInterface arg0, int arg1) {
                // TODO Auto-generated method stub
                tv1.setText("点击的是取消");
            }
        });
        builder.setNeutralButton("中间", new DialogInterface.OnClickListener() {
            
            @Override
            public void onClick(DialogInterface arg0, int arg1) {
                // TODO Auto-generated method stub
                tv1.setText("点击的是中间");
            }
        });
        builder.setItems(new String[]{"显示点击第一项","显示点击第二项"}, new DialogInterface.OnClickListener() {
            
            @Override
            public void onClick(DialogInterface dialog, int position) {
                // TODO Auto-generated method stub
                switch (position) {
                case 0:
                    tv1.setText("点击的是第一项");
                    break;
                case 1:
                    tv1.setText("点击的是第二项");
                    break;
                default:
                    break;
                }
            }
        });
        builder.create().show();
        
    }




2.progressDialog

属性:

 setProgressStyle:设置进度条风格,风格为圆形,旋转的。
  setTitlt:设置标题
  setMessage:设置提示信息;
  setIcon:设置标题图标;
  setIndeterminate:设置ProgressDialog 的进度条是否不明确;这个属性对于ProgressDailog默认的转轮模式没有实际意义,默认下设置为true,它仅仅对带有ProgressBar的Dialog有作用。修改这个属性为false后可以实时更新进度条的进度。
  setCancelable:设置ProgressDialog 是否可以按返回键取消;

  CancelListner:当前Dialog强制取消之后将会被执行,通常用来清理未完成的任务。
  setButton:设置ProgressDialog 的一个Button(需要监听Button事件);
  show:显示ProgressDialog。

  cancel:删除progressdialog

  dismiss: 删除progressdialog 作用和cancel相同

setProgress(intCounter);更新进度条,当然一般都需要Handler的结合来更新进度条

使用如下:
/**
	 * dialog2 进度条对话框;
	 */
	private void dilogText2() {
		
		final ProgressDialog dialog;
		dialog = new ProgressDialog(MainActivity.this);
		dialog.setTitle("进度条");
		dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
		dialog.setMessage("正在处理中。。。。");
		dialog.setIcon(R.drawable.ic_launcher);
		dialog.setIndeterminate(false);
		dialog.setCancelable(false);
//		dialog.setProgress(num);
		dialog.setButton("确定", new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface arg0, int arg1) {
				// TODO Auto-generated method stub
				dialog.dismiss();
			}
		});
		dialog.show();
		  Timer timer = new Timer();
		  TimerTask task = new TimerTask() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
				int num=0;
				if (num>4) {
					dialog.dismiss();
				}
				System.out.println("已花费  :  "+num+" s");
				num++;
				
			}
		};
		timer.schedule(task,1,1000);
	}

3 :通过window 添加的contentview;效果还可以:

private AlertDialog dialog;
	private void dialogText3() {
		 dialog = new AlertDialog.Builder(MainActivity.this).create();
		 dialog.show();
		 Window window=dialog.getWindow();
		 window.setContentView(R.layout.dialogbase);
		 Button buttonYes=(Button) window.findViewById(R.id.buttonYes);
			Button buttonNo=(Button) window.findViewById(R.id.buttonNo);
			buttonNo.setOnClickListener(new OnClickListener() {
	
				@Override
				public void onClick(View arg0) {
					// TODO Auto-generated method stub
					tv1.setText("点击的是第No");
					dialog.dismiss();
				}
			});
			buttonYes.setOnClickListener(new OnClickListener() {
				
				@Override
				public void onClick(View arg0) {
					// TODO Auto-generated method stub
					tv1.setText("点击的是确定");
					dialog.dismiss();
				}
			});
		
			
	}

4:类似第三个:但是有个标题栏,是根据dialog做的

private void dialogText4(){
		final Dialog mDialog=new Dialog(MainActivity.this);
		 LayoutInflater inflater=LayoutInflater.from(getApplicationContext());
		 View view=inflater.inflate(R.layout.dialogbase, null);
		// mDialog.setTitle("这事标题");
mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);//这个就可以去除标题栏了;
 mDialog.setContentView(view);
		Button buttonYes=(Button) view.findViewById(R.id.buttonYes);
		Button buttonNo=(Button) view.findViewById(R.id.buttonNo);
		buttonNo.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				tv1.setText("点击的是第NNNNNNNNNNNNNNNNNN");
				mDialog.dismiss();
			}
		});
		buttonYes.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				tv1.setText("点击的是YYYYYYYYYYYYY");
				mDialog.dismiss();

			}
		});
		
		mDialog.show();
	}







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值