iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android开发基础 几种常用对话框的使用
  • 915
分享到

Android开发基础 几种常用对话框的使用

android开发Android 2022-06-06 13:06:17 915人浏览 泡泡鱼
摘要

Android开发基础 几种常用对话框的使用 开发步骤如下:(1)布局界面(2)获取按钮,添加事件监听器,实现对话框 。 我采用的是Relati

Android开发基础 几种常用对话框的使用

开发步骤如下:(1)布局界面(2)获取按钮,添加事件监听器,实现对话框 。
我采用的是RelativeLayout布局和LinearLayout两个布局,自定义对话框用的是用的是在Layout下创建的LinearLayout布局,其余对话框用的是默认的RelativeLayout布局。
第一步,点击File->New ->New Module,创建一个项目模块,在activity_main.xml目录下,设计五个基本按钮,布局代码如上图所示,可以直接在设计界面用鼠标拖动按钮,移动按钮的位置,代码会自动生成,可以在activity_main.xml目录下修改按钮名称,也可以双击按钮修改。这样按钮的布局便做好了,还是很简单的。

下面我们先看布局文件,RelativeLayout布局,源代码如下,


    

下面的是在Layout下创建的LinearLayout布局,在布局文件下布局如下


第二步,在MainActivity文件夹下,获取按钮,添加事件监听器并实现对话框 。(注:我的代码呈上,你可以拿去用,如果出现报错,记得点击Alt+Enter会对你有帮助的)
(1)带取消和确定按钮的对话框,源代码如下,把此方法用在注释中说明,其中我设置了图标,如果你不需要,可以把设置图标那行代码去掉,如果需要,则需复制一张名称为apple的图片粘贴到res文件的drawable目录下。

// author Wangguodong
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
      //显示带取消和确定按钮的对话框
        Button button1 = (Button) findViewById(R.id.button1) ;
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //创建对话框对象,并实例化
                AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
                alertDialog.setIcon(R.drawable.apple); //引用图标
                alertDialog.setTitle("乔布斯:"); //设置标题
                alertDialog.setMessage("活着就是为了改变世界,难道还有什么其它原因吗?");//设置内容信息
                alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "否", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "您单击了否按钮", Toast.LENGTH_SHORT).show();
                    }
                });  //取消按钮
                alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "是", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "您单击了是按钮", Toast.LENGTH_SHORT).show();
                    }
                });//确定按钮
                alertDialog.show();
            }
        }) ;

(2)简单列表对话框,源代码如下,已在注释中说明,其中我设置了图标,如果你不需要,可以把设置图标那行代码去掉,如果需要,则需复制一张名称为like的图片粘贴到res文件的drawable目录下。

 // 显示列表对话框
        Button button2 = (Button) findViewById(R.id.button2) ;
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
             //带多个列表项的列表对话框
            final String [] s = new String [] {"求知若饥,虚心若愚","或者就是为了改变世界",
                     "当你有使命,它会让你变得更专注","要么出众,要么出局"} ; //数组中存放四个列表项
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this) ; //  创建一个AlertDialog.Builder对象
                builder.setIcon(R.drawable.like) ; //引用图标
                builder.setTitle("请您选择下面四句话中你最喜欢的一句话");
                builder.setItems(s, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "您选择了【" + s[which] + "】", Toast.LENGTH_SHORT).show();
                    }
                }) ;//确定列表项
                builder.create().show() ; //创建并显示对话框
                }
        }) ;

(3)单选列表对话框,源代码如下,已在注释中说明,其中我设置了图标,如果你不需要,可以把设置图标那行代码去掉,如果需要,则需复制一张名称为select的图片粘贴到res文件的drawable目录下。

 //显示单选对话框
        Button button3 = (Button) findViewById(R.id.button3) ;
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //创建带列表项的对话框
               final String [] s = new String[] {"比尔盖茨","乔布斯","扎克伯格","马云","马化腾"} ;
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this) ; //  创建一个AlertDialog.Builder对象
                builder.setIcon(R.drawable.select) ; //引用图标
                builder.setTitle("您最喜欢下面哪位大佬呢") ;//设置标题
                builder.setSingleChoiceItems(s, 0, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "您选择了【" + s[which] + "】", Toast.LENGTH_SHORT).show();
                    }
                }) ; //添加列表项
                builder.setPositiveButton("确定", null) ; //创建确定按钮,并默认不做处理
                builder.create().show() ;
            }
        }) ;

(4)多选列表对话框,源代码如下,已在注释中说明,其中我设置了图标,如果你不需要,可以把设置图标那行代码去掉,如果需要,则需复制一张名称为eat的图片粘贴到res文件的drawable目录下。

  //显示多选对话框
        Button button4 = (Button) findViewById(R.id.button4) ;
        button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            //创建带多选项的对话框
                final boolean [] checkItems = new boolean[]{false,true,false,true,false} ; //记录列表项的状态
               final  String [] s = new String [] {"王者荣耀","和平精英","英雄联盟","穿越火线","地下城与勇士"} ;//显示列表项的内容
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this) ; //  创建一个AlertDialog.Builder对象
                builder.setIcon(R.drawable.eat) ; //引用图标
                builder.setTitle("请您选择你最喜欢的游戏") ;//设置标题
                builder.setMultiChoiceItems(s, checkItems, new DialogInterface.OnMultiChoiceClickListener() {
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        checkItems[which] = isChecked; //根据列表选项被操作然后改变状态
                    }
                }) ; //添加的列表项
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        String result = ""; //用于记录最终的结果
                        for (int i = 0; i < checkItems.length; i++) {
                            if (checkItems[i]) {
                                result += s[i];
                            }
                        }
                        if (!"".equals(result)) { //判断如果选择的值不为空则输出
                            Toast.makeText(MainActivity.this, "您选择了【" + result + "】", Toast.LENGTH_SHORT).show();
                        }
                    }
                }) ; //添加确定按钮
                builder.create().show() ;
            }
        }) ;

(5)自定义对话框,源代码如下,已在注释中说明,其中我设置了图标,如果你不需要,可以把设置图标那行代码去掉,如果需要,则需复制一张名称为girl的图片粘贴到res文件的drawable目录下。

 //显示自定义对话框
        Button button5 = (Button) findViewById(R.id.button5);
        button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this) ; //  创建一个AlertDialog.Builder对象
                builder.setIcon(R.drawable.girl) ; //引用图标
                builder.setTitle("自定义的对话框") ;//设置标题
                final View dialogView = LayoutInflater.from(MainActivity.this)
                        .inflate(R.layout.layout,null);
                builder.setView(dialogView) ; //设置视图
                builder.setPositiveButton("确定",
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                // 获取EditView中的输入内容
                                EditText edit_text =
                                        (EditText) dialogView.findViewById(R.id.edit_text);
                                Toast.makeText(MainActivity.this,
                                        edit_text.getText().toString(),
                                        Toast.LENGTH_SHORT).show();
                            }
                        });
                builder.show();
            }
        }) ;

最后一步,在模拟器上调试,结果如下图所示。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
原创,如果对你有帮助,点个赞再走吧,谢啦!


作者:nuist__NJUPT


--结束END--

本文标题: Android开发基础 几种常用对话框的使用

本文链接: https://www.lsjlt.com/news/29149.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作