Day26 - AlertDialog

今天来练习第一个Dialog

  • AlertDialog

AlertDialog不仅仅提供使用者显示文字讯息的功能
还有提供使用者输入资讯、点选确认取消按钮
甚至连清单方块ListView也提供

开始

这功能跟Toast一样不需要拉任何元件
但为求方便
我还是习惯用一个按钮元件
触发AlertDialog

activity_main.xml

随便设一个按钮

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/btn_toast"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="AlertDialog测试"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

这里有两种写的方法
1.宣告变数
先宣告一个AlertDialog.Builder dialog
dialog.setMessage():设定内文显是什麽文字
setTitle():设定AlertDialog的标题名
setIcon():设定他的Icon
show():最後把这个AlertDialog显示出来

AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
                dialog.setMessage("你成功了")
                        .setTitle("AlertDialog")
                        .setIcon(android.R.drawable.presence_away)
                        .show();

2.省略宣告变数
这写法简洁多了

new AlertDialog.Builder(MainActivity.this)
                        .setMessage("你成功了")
                        .setTitle("AlertDialog")
                        .setIcon(android.R.drawable.presence_away)
                        .show();

当没有任何按键时,你可以点击手机返回按钮或是Dialog以外的区块,来关闭AlertDialog

执行结果:
初始画面:
https://ithelp.ithome.com.tw/upload/images/20211002/20141769vcVmqVoo8y.png
点击按钮:
https://ithelp.ithome.com.tw/upload/images/20211002/20141769IuGhHfvUMw.png

若想在Dialog加入按钮的话
加入
.setNegativeButton("否",null)
.setPositiveButton("随便拉",null)
.setNeutralButton("喔是喔",null)
後面null表示不处理

new AlertDialog.Builder(MainActivity.this)
                        .setMessage("你成功了")
                        .setTitle("AlertDialog")
                        .setIcon(android.R.drawable.presence_away)
                        .setNegativeButton("否",null)
                        .setPositiveButton("随便拉",null)
                        .setNeutralButton("喔是喔",null)
                        .show();

执行结果:
https://ithelp.ithome.com.tw/upload/images/20211002/20141769NmwZCRWSTN.png


<<:  第22天~JSON / GSON

>>:  DAY25: 作用域三种类

聊招募前,先问问你了解自己吗?

成为公司的一份子大都是经由招募流程而加入的,但某一天团队需要扩大或是人手不足,而你刚好有机会可以参与...

Day 7 Compose UI Image Layout

今年的疫情蛮严重的,希望大家都过得安好,希望疫情快点过去,能回到一些线下技术聚会的时光~ 今天要开始...

[Day30]程序菜鸟自学C++资料结构演算法 – 心得总结

前言:今天是铁人赛的第30天,但实际上花了一个多月的时间准备,因为自认自己的实力还不够好,所以有提前...

D3JsDay09 资料元素来绑定,让你元素有内定—资料绑定

资料绑定 datum()函式 前面的文章多半是在使用D3来操作DOM,这边主要探讨D3的核心,将资料...

[Day21] - 制作 Web component 的一些工具

前几天我们花费心力 , 说明 Web Component 如何制作 , 与当资料变换时 , 我们需要...