嘿,各位在代码海洋中挣扎的Android勇士们!今天我们要聊的是一个你几乎每天都会碰到,但可能从未深入了解过的神器——AlertDialog。
想象一下这个场景:你的App里用户正要删除重要数据,你总不能默默删了就完事吧?这时候,一个优雅的弹窗跳出来:“亲,您确定要删除和前任的999张合影吗?”配上“手滑了”和“狠心删除”两个按钮——这就是AlertDialog的功劳!
一、AlertDialog是何方神圣?
简单来说,AlertDialog就是Android系统提供的“消息盒子”。它不像Toast那样悄无声息地出现又消失,而是霸道地占据屏幕C位,强迫用户做出选择。你可以把它理解为App世界的“交警”——当遇到重要路口时,它就会跳出来指挥交通。
为什么不用普通的Activity或者Fragment呢?问得好!AlertDialog有三大绝活:
- 轻量级:不像Activity那样大动干戈,创建和销毁都特别省资源
- 标准化:遵循Material Design设计规范,颜值有保障
- 灵活性:从简单的消息提示到复杂的表单输入都能搞定
二、AlertDialog的“基本款”穿搭
先来看最基础的用法,我称之为“直男三件套”:
// 1. 建造者模式上场(这可是AlertDialog的精髓!)
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 2. 配置三要素:标题、消息、按钮
builder.setTitle("发现新版本")
.setMessage("修复了已知bug,优化了用户体验...你懂的")
.setPositiveButton("立即更新", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 用户点击确定按钮的回调
updateApp();
}
})
.setNegativeButton("下次再说", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 用户点击取消按钮的回调
remindLater();
}
})
.setNeutralButton("忽略此版本", null); // 第三个按钮,不需要回调就传null
// 3. 创建并显示
AlertDialog dialog = builder.create();
dialog.show();
这段代码呈现的效果就是最经典的确认对话框。但等等,这里有个新手常踩的坑:
坑点预警:一定要在调用show()方法之后再对dialog进行其他操作!否则

最低0.47元/天 解锁文章
913

被折叠的 条评论
为什么被折叠?



