Android之AlertDialog对话框

Android 中 AlertDialog 的基本使用 Android 中 AlertDialog 的基本使用1. 默认样式2. 单选样式3. 多选样式4. 自定义样式 1. 默认样式 2. 单选样式 3. 多选样式 4. 自定义样式 阅读详情
  • 默认样式
  • 单选样式
  • 多选样式
  • 自定义样式

自定义的登陆的layout_login

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp"
    >
    <EditText
        android:id="@+id/edit_user_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="userName"
        android:maxLines="1"
        />

    <EditText
        android:id="@+id/edit_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="password"
        android:inputType="textPassword"
        android:maxLines="1"
        />

    <Button
        android:id="@+id/btn_dialog_login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登陆"/>
</LinearLayout>

package com.example.test0508;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.test0508.util.ToastUtil;

public class DialogActivity extends AppCompatActivity {


    private Button mBtndialog1,mBtndialog2,mBtndialog3,mBtndialog4,mBtndialog5;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dialog);
        mBtndialog1 = findViewById(R.id.btn_dialog1);
        mBtndialog2 = findViewById(R.id.btn_dialog2);
        mBtndialog3 = findViewById(R.id.btn_dialog3);
        mBtndialog4 = findViewById(R.id.btn_dialog4);
        mBtndialog5 = findViewById(R.id.btn_dialog5);
        OnClick onClick = new OnClick();
        mBtndialog1.setOnClickListener(onClick);
        mBtndialog2.setOnClickListener(onClick);
        mBtndialog3.setOnClickListener(onClick);
        mBtndialog4.setOnClickListener(onClick);
        mBtndialog5.setOnClickListener(onClick);
    }

    class OnClick implements View.OnClickListener{

        @Override
        public void onClick(View view) {
            switch (view.getId()){
                case R.id.btn_dialog1:
                    //弹出一个对话框
                    AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this);
                    builder.setTitle("请回答").setMessage("你觉得课程如何").setIcon(R.drawable.xuegao)
                            .setPositiveButton("棒", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int i) {
                                    ToastUtil.showMessage(DialogActivity.this,"xiexie");
                                }
                            })
                            .setNeutralButton("还行", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int i) {
                                    ToastUtil.showMessage(DialogActivity.this,"你再看看");
                                }
                            })
                            .setNegativeButton("不好", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int i) {
                                    ToastUtil.showMessage(DialogActivity.this,"滚");
                                }
                            }).show();
                    break;
                /**
                 * *****************************************
                 * 样式二
                 */
                case R.id.btn_dialog2:
                    //单选
                    final String[] array = new String[]{"男","女"};
                    AlertDialog.Builder builder1 = new AlertDialog.Builder(DialogActivity.this);
                    builder1.setTitle("性别").setItems(array, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            ToastUtil.showMessage(DialogActivity.this,array[i]);
                        }
                    }).show();
                    break;

                /**
                 * *****************************************
                 * 样式3
                 */
                case R.id.btn_dialog3:
                    final String[] array3 = new String[]{"男","女"};
                    AlertDialog.Builder builder3 = new AlertDialog.Builder(DialogActivity.this);
                    builder3.setTitle("您的性别是")
                    .setSingleChoiceItems(array3, 0, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            ToastUtil.showMessage(DialogActivity.this,array3[i]);
                            dialogInterface.dismiss();
                        }
                    }).setCancelable(false).show() ;
                    break;


                /**
                 * *****************************************
                 * 样式4 多选
                 */
                case R.id.btn_dialog4:
                    final String[] array4 = new String[]{"唱歌","跳舞","写代码"};
                    final boolean[] isSelected = new boolean[]{false,false,true};
                    AlertDialog.Builder builder4 = new AlertDialog.Builder(DialogActivity.this);
                    builder4.setTitle("你的兴趣是")
                            .setMultiChoiceItems(array4, isSelected, new DialogInterface.OnMultiChoiceClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int i, boolean b) {
                                    ToastUtil.showMessage(DialogActivity.this,array4[i]+":"+isSelected[i]);
                                }
                            }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            //随便写
                        }
                    }).setNegativeButton("取消按钮", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            //
                        }
                    })
                            .show();
                    break;

                /**
                 * *****************************************
                 * 样式4 多选
                 */
                case R.id.btn_dialog5:
                    AlertDialog.Builder builder5 = new AlertDialog.Builder(DialogActivity.this);
                    View view1 =  LayoutInflater.from(DialogActivity.this).inflate(R.layout.layout_dialog,null);
                    EditText userName = view1.findViewById(R.id.edit_user_name);
                    EditText password = view1.findViewById(R.id.edit_password);
                    Button button = view1.findViewById(R.id.btn_dialog_login);
                    //对这个登陆按钮设计点击事件
                    button.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            //获取username和password
                        }
                    });
                    builder5.setTitle("登陆操作")
                            .setView(view1).show();
                    break;

            }
        }
    }
}

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    android:orientation="vertical"
    >

    <Button
        android:id="@+id/btn_dialog1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="样式1"
        android:textAllCaps="false"

    />

    <Button
        android:id="@+id/btn_dialog2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="样式2"
        android:textAllCaps="false"

        />
    <Button
        android:id="@+id/btn_dialog3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="样式3"
        android:textAllCaps="false"

        />
    <Button
        android:id="@+id/btn_dialog4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="样式4"
        android:textAllCaps="false"

        />

    <Button
        android:id="@+id/btn_dialog5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="样式5"
        android:textAllCaps="false"

        />

</LinearLayout>

样式一
在这里插入图片描述
样式二
在这里插入图片描述
样式三
在这里插入图片描述
样式五
在这里插入图片描述

Android 之 AlertDialog(对话框)详解 本节继续给大家带来是显示提示信息的第三个控件AlertDialog(对话框),同时它也是其他 Dialog的的父类!比如ProgressDialog,TimePickerDialog等,而AlertDialog的父类是:Dialog! 另外,不像前面学习的Toast和Notification,AlertDialog并不能直接new出来,如果你打开 AlertDialog的源码,会发现构造方法是protected的,如果我们要创建AlertDialog的话,我们 需要使用到该类中的一个静态内部类:public 阅读详情

相关推荐

Android小课程5——对话框AlertDialog基本使用及自定义Alertdialog、Fragment动静态创建及来回传参

对话框AlertDialog基本使用及自定义Alertdialog、Fragment动静态创建及来回传参

m0_56294528的博客 2310

Android -对话框AlertDialog

代码直接复制粘贴使用

2301_77563065的博客 6028

Android AlertDialog弹出退出对话框

前言: 各位同学大家好 ,最近都在赶项目所以很长时间都没有更新博客了。 因为我本人是做Android 游戏SDK开发的, 所以经常要写一个通用的对外接口 ,我们项目要加一个 退出的弹窗对话框, 这个相信在座的各位都很熟系。安卓里面使用 自定义的dialog和自定义的popupwindow可以实现很完美的 对话框 ,因为我这边UI没有出图 我就用系统自带的原生AlertDialog 来实现 希望能帮助到大家学习 ,废话不多说我们正式开始 。 准备工作 1装好安卓开发环境jdk Android studi

xq610928的博客 1047

Android 自定义AlertDialog

Android 自定义popuWindow 对于项目需求中,系统的弹出框不能满足我们的需求,就只能通过自定义布局来实现自己相对应的功能,这里总结一篇关于AlertDialog的 具体操作 这里把弹出框封装了一个方法,使用的时候,只需要在对应的活动页写入自己的想实现的布局就可以了。 由于本人app中设计到离线缓存数据的问题,所以对弹出框做了有网无网的处理(Android开发中如何打开手机网络设置界面(适用于所有机型)),里面还有下拉框的功能 private void showPageDialog(Dep.

拉莫帅的博客 3761

Android AlertDialog对话框类型集合教程

本文还有配套的精品资源,点击获取 简介: AlertDialog 是Android UI设计的关键组件,用于显示重要信息或要求用户决策。本文全面介绍了 AlertDialog 的不同类型,包括普通对话框、单选对话框、多选对话框、自定义视图对话框、进度对话框、列表对话框、警示对话框和输入对话框,并提供了丰富的示例代码。通过 AlertDia...

weixin_33610780的博客 1277

Python | 处理CMIP6 NC数据,以tas为例

各位同学,一般在文章最后一章我们可能会做不同气候情景下变量的未来时空变化特征,类似上图。从cmip6下载的nc数据常需要转换格式、裁剪到研究区和重采样等,本期代码可以解决这类问题。

qq_48539301的博客 1384

android安卓之常用对话框设计AlertDialog

android安卓之常用对话框设计AlertDialog 学习目的:掌握常用对话框中提示,单选,复选,自定义对话框的设计和使用。 布局文件 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="ver

shgzzd的博客 3476

HFSS螺旋线圈的优化设计与高效仿真实践

本文详细介绍了HFSS螺旋线圈的优化设计与高效仿真实践,涵盖核心参数设置、参数化建模、仿真加速技巧及结果分析。通过HFSS软件实现螺旋线圈的高效仿真,特别适用于无线充电和RFID系统设计,提升设计效率与性能验证准确性。

weixin_30235225的博客 445

Android AlertDialog对话框

自定义弹出对话框需要自定义对话框内容的布局,并实现相关逻辑。@Overridebuilder.setTitle("自定义对话框");builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@OverrideToast.makeText(MainActivity.this, "输入密码是:" + str, Toast.LENGTH_SHORT).show();});

学无止境,止于至善 2172

Ubuntu升级遇到grub-efi-amd64-signed安装失败?3步搞定这个烦人错误

本文深度解析Ubuntu系统升级时grub-efi-amd64-signed安装失败并提示“cannot find EFI directory”错误的根本原因。该错误通常由EFI系统分区挂载异常、BIOS/UEFI引导模式不匹配或dpkg包状态死锁导致。文章提供了三步精准修复流程:首先检查并修复ESP分区挂载,其次处理dpkg依赖问题,最后针对传统BIOS系统提供适配方案,帮助用户安全彻底地解决这一常见升级难题。

r7s8t的博客 398

【深度解析】AURIX TC387 UCB Flash架构与避坑指南(第一篇)

摘要:UCB(用户配置块)是AURIX TC3xx芯片启动与安全的关键配置区域,位于DFLASH0存储区。每个512字节的UCB包含启动模式、安全设置等关键参数,并通过强制CRC32校验确保完整性。UCB分为启动头(UCB_BMHD)、安全配置(UCB_ORIG)及其备份(UCB_COPY)三种主要类型。不同于常规Flash,UCB具有自动擦除特性,错误配置可能导致芯片永久锁死。开发中应谨慎修改UCB,必须同时编程原始和备份版本,并确保正确的CRC校验。后续文章将详细介绍UCB编程方法和调试技巧。

2511_94612429的博客 1235

Android——AlertDialog对话框之单选对话框

AlertDialog对话框包含普通、单选、多选和自定义对话框,本文介绍其中的单选对话框。

weixin_72634509的博客 3270

Python 爬虫实战:Twitter 数据定向抓取(特定话题 + 用户推文爬取与分析)

在社交媒体研究、舆情监测和市场分析等领域,Twitter 数据具有极高的价值。本文将详细介绍如何使用 Python 构建一个完整的 Twitter 数据爬取系统,包括特定话题和用户推文的爬取与分析。我们将涵盖从认证到数据存储、清洗、分析和可视化的全流程。

u014481728的博客 1038

安卓弹出对话框——Alertdialog

在Android开发当中,在界面上弹出一个Dialog对话框使我们经常需要做的,本篇随笔将详细的讲解Dialog对话框这个概念,包括定义不同样式的对话框。 一、Dialog 我们首先来看看android官方文档对Dialog的介绍 A dialog is a small window that prompts the user to make a decision or ent...

diankan4902的博客 243

MIKE水动力笔记18_如何将dfsu流场模拟结果的数据导出成txt文件

MIKE的模拟结果dfsu文件的数据是可以导出的,导出格式为xyz,我们也可以将其改后缀改为txt文本格式,其中包含了某一时刻下所有网格坐标点的数据。

晏长街的博客 4410

训练YOLOv11 | Pytorch和Pycharm的安装教程适用W11系统(附详细的系统变量添加过程)

根据你之前下载的版本选择对应的选项即可,然后复制底下的绿色代码到Anaconda的命令行输入即可(这里要在你安装的python环境里进行安装,例如我的环境名字是PyTorch,那么就是activate PyTorch里进行安装)然后同之前一样会加载一会,然后会询问我们是否下载配件,我们输入Y等待即可(下载过程中我们要确保网络通常如果有波动可能会下载失败)。类似于我的电脑是Windows11选择上面红框内的选项即可点击后即下载,(注意这里下载的是zip文件)下载完成后复制下面几个文件。

Snu77的博客 1万+

AlertDialog实现普通对话框和登录对话框——Android

目的:实现普通对话框和登录对话框 开发工具:Android Studio3.3.2 实现过程: 第一步:在布局文件activity_main.xml中添加两个Button用于打开对话框,并将按钮设置为水平和竖直方向都居中 要让按钮在页面居中需要在父级元素添加 android:gravity="center" 如果希望按钮宽度自适应且在竖直方向排列,则需要在父级元素中添加android...

YanMeiHe的博客 2307

【腾讯小龙虾WorkBuddy专栏01】初识WorkBuddy!定位、核心优势、功能界面全解析

【腾讯小龙虾WorkBuddy专栏01】初识WorkBuddy!定位、核心优势、功能界面全解析

AI人人懂 3845

Android 对话框AlertDialog和AlertDialog.Builder两者的区别

AlertDialog和AlertDialog.Bulider的区别

不能说的秘密的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Android中的对话框AlertDialog

http://developer.android.com/guide/topics/ui/dialogs.htmlandroid.app.Activity类中与对话框操作相关的方法有:showDialog(int id);//用于显示一个Dialog,如果是是第一次显示某个Dialog,则会调用onCreateDialog方法。每次显示Dialog之前都会调用onPrepareDialog方法;dismissDialog(int id);//用于消除showDialog方法打开的Dialog;removeD

donotwarry的专栏 1245

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Android Studio基础使用多选对话框AlertDialog

Android Studio基础使用多选对话框AlertDialog 第一步:在布局中定义唯一的ID值 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_paren

xwbk12的博客 4274

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【Android】AlertDialog PopupWindow对话框

Android最常见的对话框是AlertDialog弹窗以及PopupWindow浮动对话框。 -> 带消息、带按钮的提示对话框; -> 带列表、带按钮的列表对话框; -> 带多个单选列表项、N个按钮的对话框; -> 带多个多选列表项、N个按钮的对话框; 另外AlertDialog还可以创建自定义对话框

Haunt_的专栏 1242

安卓学习 之 提示对话框AlertDialog

本文介绍了Android中AlertDialog的基本使用方法。通过一个包含两个按钮的布局界面,演示了如何创建和显示提示对话框。主要步骤包括:1)创建AlertDialog.Builder实例;2)设置对话框标题和内容;3)添加"确定"和"取消"按钮及其点击事件;4)调用show()方法显示对话框。文中还提供了完整的XML布局和Activity代码示例,展示了如何通过按钮点击触发对话框,其中"确定"按钮会关闭当前窗口,"取消"按

腹有诗词气自华 658

android 创建对话框,Android使用AlertDialog创建对话框

AlertDialog类的功能十分强大,它不仅可以生成带按钮的提示对话框,还可以生成带列表的列表对话框,概括起来有一下4种:1.带确定、中立和取消等N个按钮的提示对话框,其中的按钮个数不是固定的,可以根据需要添加。例如,不需要中立按钮,则可以只生成带有确定和取消按钮的对话框,也可以是只需有一个按钮的对话框。2.带列表的列表对话框3.带多个单选列表项和N个按钮的列表对话框4.带多个多选列表项和N个按...

weixin_29451671的博客 1059

[Android]AlertDialog对话框

是Android中常用的对话框组件之一,用于在应用程序中显示一些提示信息、警告、确认信息或者提供用户进行选择的界面。通常用于与用户进行交互,例如要求用户确认某个操作、输入一些信息或者从一组选项中选择一个。,您可以方便地与用户进行交互,并在应用程序中显示各种提示信息和选择界面。来设置对话框的标题、消息、按钮以及其他属性。以下是一个简单的示例,演示如何创建一个简单的。

weixin_63357306的博客 520

Android 重写对话框AlertDialog

---xml http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:orientation="vertical" >             android:layou

2138
上一篇: UI组件之弹出组件
下一篇: Android之ProgressBar&ProgressDialog
周末的丢
博客等级 码龄7年 197粉丝 331原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值