美文网首页
常用dialog

常用dialog

作者: 星_025f | 来源:发表于2021-07-27 13:44 被阅读0次

    一:自定义dialog

               View etView = LayoutInflater.from(RemoveMaxI.this).inflate(remove_max_i_dialog_edittext,null);
    
                etI = (EditText) etView.findViewById(R.id.remove_max_i_et);
    
                new AlertDialog.Builder(RemoveMaxI.this).setTitle("设置最大电流").setIcon(
    
                         android.R.drawable.ic_dialog_info).setView(etView)
    
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
    
                            @Override
    
                            public void onClick(DialogInterface dialog, int which) {
    
                                String sendMsg = "$c"+topStr+etI.getText().toString()+"0#";
    
                                Message message = new Message();
    
                                message.obj = sendMsg;
    
                                message.what = 4646;
    
                                SheBeiFragment.mHandler.sendMessage(message);
    
                            }
    
                        })
    
                       .setNegativeButton("取消", new DialogInterface.OnClickListener() {
    
                           @Override
    
                           public void onClick(DialogInterface dialog, int which) {
    
                           }
    
                       }).show();
    

    二:消息提示框

     new  AlertDialog.Builder(self)    
     .setTitle("标题" )  
     .setMessage("简单消息框" )  
     .setPositiveButton("确定" ,  null )  
     .show();  
    
    消息提示框

    上面的代码中我们新建了一个AlertDialog,并用Builder方法形成了一个对象链,通过一系列的设置方法,构造出我们需要的对话框,然后调用 show方法显示出来,注意到Builder方法的参数 self,这个其实是Activity对象的引用,根据你所处的上下文来传入相应的引用就可以了。例如在onCreate方法中调用,只需传入this即可。

    三:带确认和取消按钮的对话框

    new  AlertDialog.Builder(self)   
    .setTitle("确认" )  
    .setMessage("确定吗?" )  
    .setPositiveButton("是" ,  null )  
    .setNegativeButton("否" , null)  
    .show();  
    
    image.jpeg

    注意到,这里有两个null参数,这里要放的其实是这两个按钮点击的监听程序,由于我们这里不需要监听这些动作,所以传入null值简单忽略掉,但是实际开发的时候一般都是需要传入监听器的,用来响应用户的操作。

    四:可以输入文本的对话框

    new  AlertDialog.Builder(self)  
    .setTitle("请输入" )  
    .setIcon(android.R.drawable.ic_dialog_info)  
    .setView(new  EditText(self))  
    .setPositiveButton("确定" , null)  
    .setNegativeButton("取消" ,  null )  
    .show();  
    
    image.jpeg

    如上代码,我们用setView方法,为我们的对话框传入了一个文本编辑框,当然,你可以传入任何的视图对象,比如图片框,WebView等。。尽情发挥你的想象力吧~:lol

    五:单选框与多选框,也是非常有用的两种对话框

    new AlertDialog.Builder(self)
    .setTitle("请选择")
    .setIcon(android.R.drawable.ic_dialog_info)                
    .setSingleChoiceItems(new String[] {"选项1","选项2","选项3","选项4"}, 0, 
      new DialogInterface.OnClickListener() {                     
         public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
         }
      }
    )
    .setNegativeButton("取消", null)
    .show();
    
    image.jpeg
     new  AlertDialog.Builder(self)  
     .setTitle("多选框" )  
     .setMultiChoiceItems(new  String[] {"选项1", "选项2", "选项3" , "选项4" },  null ,  null )  
     .setPositiveButton("确定" , null)                  
     .setNegativeButton("取消" ,  null )  
     .show();  
    
    image.jpeg

    单选和多选对话框应该是我们平时用的非常多的,代码应该很好理解,下面再最后介绍两个、

    六:列表对话框

    new  AlertDialog.Builder(self)  
    .setTitle("列表框" )  
    .setItems(new  String[] {"列表项1", "列表项2", "列表项3" },  null )  
    .setNegativeButton("确定" ,  null )  
    .show();  
    
    image.jpeg

    七:对话框中显示图片

     ImageView img =  new ImageView(self);  
      img.setImageResource(R.drawable.icon);  
      new  AlertDialog.Builder(self)  
      .setTitle("图片框" )  
      .setView(img)  
      .setPositiveButton("确定" ,  null )  
      .show();  
    
    image.jpeg

    相关文章

      网友评论

          本文标题:常用dialog

          本文链接:https://www.haomeiwen.com/subject/grhomltx.html