码迷,mamicode.com
首页 > 其他好文 > 详细

Dialog

时间:2016-07-19 11:13:46      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

第十天·Dialog

常规对话框

一、声明布局里的button控件及初始化
二、创建button的点击事件

        1、先创建builder对象
   AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
         2、给builder对象赋值设置属性
  builder.setTitle("温馨提示");
  builder.setMessage("你真的确定要给我转五万块钱吗");
  builder.setIcon(R.mipmap.ic_launcher);
          3、设置下面的提示按钮
         setPositiveButton("确定" 
         setNegativeButton("肯定的"
         setNeutralButton("十分确定"

这三个按钮分别对应dialog的下面的三个按钮。如图所示:
技术分享

列表对话框

    1、在这里进行列表提示框的创建
final String items[]=new String[]{"铁锤","斧子","铁锹","扳手"};
     2、给builder对象赋值设置属性,与常规一样
     3.设置列表显示的数据
     setItems(items,

运行出来是这样的:
技术分享

单选对话框

 1、预先准备好单选对话框
final String items[]=new String[]{"男","女"};
2、给builder对象赋值设置属性,与常规一样
3、设置列表显示的数据
setSingleChoiceItems(items, 0,

运行出来是这样的:技术分享

多选对话框

 1、在这里进行列表提示框的创建
 final String items[]=new String[]{"玫瑰","水仙","百合","牡丹"};
 //做一个判断,选中就是true,反之就是false
 final boolean selected[]=new boolean[]{true,false,false,true};
 2、给builder对象赋值设置属性,与常规一样
 3、设置列表显示的数据
 setMultiChoiceItems(items, selected,

运行出来是这样的:
技术分享

源码在此:


import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    //static int pos=0;
    private Button normalButton;
    private Button seniorButton;
    private Button listButton;
    private Button singleButton;
    private Button checkButton;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        normalButton= (Button) findViewById(R.id.normal_dialog);
        seniorButton= (Button) findViewById(R.id.senior_dialog);
        listButton= (Button) findViewById(R.id.list_dialog);
        singleButton= (Button) findViewById(R.id.single_dialog);
        checkButton= (Button) findViewById(R.id.check_dialog);


        normalButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //在这里进行普通的提示框的创建于显示
                //先创建builder对象
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                //给对象赋值-->设置属性
                builder.setTitle("温馨提示");
                //设置提示信息
                builder.setMessage("你真的确定要给我转五万块钱吗");
                //设置图标
                builder.setIcon(R.mipmap.ic_launcher);

                //设置下面的提示按钮
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        //把提示框关掉
                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, "点击了确定按钮,感谢支持", Toast.LENGTH_SHORT).show();
                    }
                });
                builder.setNegativeButton("肯定的", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, "点击了肯定按钮,感谢信赖", Toast.LENGTH_SHORT).show();
                    }
                });
                builder.setNeutralButton("十分确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, "点击了十分确定按钮,赶紧打到我账上", Toast.LENGTH_SHORT).show();
                    }
                });

                //3、显示对象
                builder.show();

            }
        });
        //优化对话框
        seniorButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            }
        });

        //列表对话框
        listButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                //在这里进行列表提示框的创建
                final String items[]=new String[]{"铁锤","斧子","铁锹","扳手"};
                //1、创建builder对象
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                //2.改对象设置属性
                //设置标题
                builder.setTitle("温馨对话");
                //设置图片
                builder.setIcon(R.mipmap.ic_launcher);
                //设置列表显示的数据,如果设置了items,就不要再调用setMessage了
                builder.setItems(items, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, items[i], Toast.LENGTH_SHORT).show();
                    }
                });

                builder.setPositiveButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                        Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT).show();
                    }
                });
                //显示对象
                builder.show();

            }
        });
        //单选对话框
        singleButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //预先准备好单选对话框
                final String items[]=new String[]{"男","女"};
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("小提示");
                //记录选择的是哪一个
                final int[] pos = {0};
                builder.setIcon(R.mipmap.ic_launcher);
                builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
//                        dialogInterface.dismiss();
                        pos[0] =i;
                        Toast.makeText(MainActivity.this, items[i], Toast.LENGTH_SHORT).show();
                    }
                });
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();

                        Toast.makeText(MainActivity.this, "最终确定:"+ pos[0], Toast.LENGTH_SHORT).show();
                    }
                });
                builder.show();
            }
        });
        //多选对话框
        checkButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                /*
                多选对话框
                 */
                //在这里进行列表提示框的创建
                final String items[]=new String[]{"玫瑰","水仙","百合","牡丹"};
                final boolean selected[]=new boolean[]{true,false,false,true};
                //1、创建builder对象
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                //2.改对象设置属性
                //设置标题
                builder.setTitle("温馨对话");
                //设置图片
                builder.setIcon(R.mipmap.ic_launcher);
                builder.setMultiChoiceItems(items, selected, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i, boolean b) {
//                        dialogInterface.dismiss();

                    }
                });
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int which) {
                        dialogInterface.dismiss();
                        //点击选项系统会自动将结果更新到selected数组中
                        String resu="结果为:";
                        for (int i=0;i<selected.length;i++){
                            if (selected[i]){
                                resu=resu+items[i]+",";
                            }
                        }
                        Toast.makeText(MainActivity.this, resu, Toast.LENGTH_SHORT).show();
                    }
                });
                builder.show();
            }
        });

    }
}

Dialog

标签:

原文地址:http://blog.csdn.net/glm_970414161/article/details/51935088

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!