Android Studio初学笔记-Day20-AlertDialog(1)

AlertDialog(对话窗功能)

AlertDialog很常在提示或者再次确认资料时看见,其功能我认为相当完整,用起来也相对直觉,我个人认为是个容易学习的实用功能。接下来就让我讲解简单的三种AlertDialog的用法。
首先他并不算是个元件,需要透过程序码建立。我将透过两个不同的按钮呼叫示范。

介面

https://ithelp.ithome.com.tw/upload/images/20210908/20139136wpNSo1GjD7.png
首先建立第一种一般的方法如下:

public void firstAloert(View v){
        AlertDialog.Builder builder1 = new AlertDialog.Builder(this);
        builder1.setTitle("我是标题")
                .setMessage("AlertDialog绍")
                .setIcon(R.mipmap.ic_launcher);
        builder1.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //放置确定按钮的功能
            }
        });
        builder1.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //放置取消按钮的功能
            }
        });
        builder1.setNeutralButton("中立", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //放置中立按钮的功能
            }
        });
        builder1.setCancelable(true);
        builder1.show();
    }

透过AlertDialog.Builder builder1 = new AlertDialog.Builder(this)来建立一个对话窗

  • setTitle()负责设定标题
  • setIcon()可以在标题旁设置一个图案
  • setMessage()负责设定在对话框中的内容

而一般的Alertdialog有三个按钮分别是PositiveButton,NegativeButton,NeutralButton可以自己分别设定功能。最後最重要的就是.show()的部分,刚开始很容易忘记,不过也不能怕忘记而先写,这样会造成写在之後的功能没有显示到。此外setCancelable()可以设定当这个AlertDialog开启时能否让手机的返回键使用。这里有个很可惜的地方,就是AlertDialog无法控制按下灰色地区的部分。

成果

https://ithelp.ithome.com.tw/upload/images/20210908/20139136zqu06nufgw.png

不过这种方法不管按甚麽按钮,都将关闭对话窗,这样有些打不到痛处的感觉。所以下一回我将讲解另一种自定义AlertDialog的方法和加入AlertDialog属性的设定。今天就先讲到这里,谢谢大家~/images/emoticon/emoticon41.gif


<<:  [Day 20] 阿嬷都看得懂的切版在干嘛

>>:  [Python 爬虫这样学,一定是大拇指拉!] DAY20 - Python:Requests 基本应用 (3)

op.26 《全领域》-全域开发实战 - 居家植物盆栽 Mvt I (NodeMCU & MQTT)

op.26 打造属於你的时空廊道 为你我打造一个专属你的自由往返通道 让你可以任意地穿越 不再受拘...

[Day31] 再访碰撞侦测与解析(三) - 解析很复杂!

今日目标 实作AABB的碰撞解析 意外复杂! 今天尝试实作昨天YT教学影片的内容,然後在看看怎麽样把...

Day 29 Explore monitoring and reporting

Single sign-on Users need to remember only one ID ...

[2021铁人赛 Day11] General Skills 08

引言 昨天学到 ssh 以及 「大括号的分配律」─ Brace Expansion 这边再补充一点...

D03 / 怎麽摆放我的画面 - Layout & Alignment

今天大概会聊到的范围 basic layout arrangement & alignme...