Android移动开发: AlertDialog 使用详解(附完整代码与效果图)

目录

💡 功能简介

💡 属性介绍

📄 布局文件:activity_main.xml

🧠 逻辑代码:MainActivity.java

📷 程序运行效果

📌 注意事项


在 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 内补充逻辑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值