目录
在 Android 开发中,AlertDialog
是非常常用的一种对话框控件。它适用于提示用户信息、确认操作或提供多个选择项。通过设置标题、图标、正文信息以及不同的按钮,我们可以快速实现一个交互对话框。
本文将通过一个简单案例,详细介绍 AlertDialog
的创建与使用方式,并附上完整的 Java 与 XML 代码,方便大家学习与复制使用。
💡 功能简介
点击按钮后弹出一个对话框,标题为“你想吃什么?”,内容是“你要吃美味蟹黄包吗?”,下方有三个按钮:
-
是的(Positive Button)
-
再看看(Neutral Button)
-
不是(Negative Button)
💡 属性介绍
📄 布局文件:activity_main.xml
代码语言:XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">
<Button
android:id="@+id/btn_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击对话框" />
</LinearLayout>
🧠 逻辑代码:MainActivity.java
代码语言:Java
package com.example.demo7;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button btn_1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_1 = findViewById(R.id.btn_1);
btn_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.xhs); // 设置图标
builder.setTitle("你想吃什么?"); // 设置标题
builder.setMessage("你要吃美味蟹黄包吗?"); // 设置正文信息
// 确定按钮
builder.setPositiveButton("是的", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 可在此添加“是的”响应逻辑
}
});
// 中立按钮
builder.setNeutralButton("再看看", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 可在此添加“再看看”响应逻辑
}
});
// 取消按钮
builder.setNegativeButton("不是", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 可在此添加“不是”响应逻辑
}
});
builder.create().show(); // 创建并显示对话框
}
});
}
}
📷 程序运行效果
运行程序后,主界面会显示一个按钮“点击对话框”。点击按钮后,会弹出如下对话框:
-
图标:自定义图标(需将
xhs.png
或.webp
放入res/drawable/
文件夹) -
标题:你想吃什么?
-
内容:你要吃美味蟹黄包吗?
-
按钮:
-
✅ 是的
-
🤔 再看看
-
❌ 不是
-
(你可以自行根据按钮点击结果设置 Toast 或跳转等功能)
📌 注意事项
-
请确保你有图标资源
xhs.png
并放在res/drawable/
文件夹中。如果没有图标,可以先注释掉setIcon()
那一行。 -
若需在点击按钮后添加具体响应,比如弹出 Toast,可在
onClick
内补充逻辑。