我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android开发之AlertDialog实现弹出对话框

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android开发之AlertDialog实现弹出对话框

本文实例为大家分享了Android开发之AlertDialog实现弹出对话框的具体代码,供大家参考,具体内容如下

基本框架

我们在xml中添加一个按钮用来唤出对话框:

<?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:orientation="vertical">

    <Button
        android:text="显示对话框"
        android:onClick="display"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

然后在java代码中编写点击事件的响应:

package com.example.myalertdialog;

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

import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void display(View view) {
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setIcon(R.drawable.ic_baseline_all_inclusive_24)
                .setTitle("对话框")
                .setMessage("Hello")
                .create()
                .show();
    }
}

构造方法

先声明一个构造器对象builderAlertDialog.Builder builder=new AlertDialog.Builder(this);

之后就可以用该构造器的各种方法设置对话框的属性:

builder.setIcon(int iconId); 添加图标
builder.setMessage(CharSequence message); 添加消息
builder.setTitle(CharSequence title); 添加标题
builder.setView(View view); 设置自定义布局
builder.create(); 创建对话框
builder.show(); 显示对话框

上面的这些函数都是可以链式调用的(详见基本框架),不过由于setXXX是Builder函数,create函数返回Dialog变量,而show是void函数,所以这三类函数的顺序不能交换,setXXX函数的内部顺序可交换。

运行基本框架中的代码就可以得到一个简单的弹出对话框:

添加按钮

常见的对话框一般还有按钮,包含确认、取消等按钮,我们也可以在java代码中设置并声明点击事件:

package com.example.myalertdialog;

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

import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void display(View view) {
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setIcon(R.drawable.ic_baseline_all_inclusive_24)
                .setTitle("对话框")
                .setMessage("Hello")
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e("ShadyPi","点击确认");
                    }
                })
                .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e("ShadyPi","点击取消");
                    }
                })
                .setNeutralButton("middle", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e("ShadyPi","点击中性");
                    }
                })
                .create()
                .show();
    }
}

点击对应按钮可以看到事件被触发:

这三个按钮可以根据自己的需要进行取舍与设置。

设置自定义布局

layout文件夹中新建资源文件:

随便添加一点ImageView和TextView:

<?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:background="@color/purple_500"
    android:orientation="horizontal">

    <ImageView
        android:class="lazy" data-src="@mipmap/ic_launcher"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView
        android:text="Android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

在java代码中利用该资源文件生成一个View:

View dialog_view=getLayoutInflater().inflate(R.layout.dialog_view,null);

之后就可以将对话框的步距设置为该View了:

.setView(dialog_view)

MainActivity.java完整代码:

package com.example.myalertdialog;

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

import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void display(View view) {

        View dialog_view=getLayoutInflater().inflate(R.layout.dialog_view,null);

        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setIcon(R.drawable.ic_baseline_all_inclusive_24)
                .setTitle("对话框")
                .setMessage("Hello")
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e("ShadyPi","点击确认");
                    }
                })
                .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e("ShadyPi","点击取消");
                    }
                })
                .setNeutralButton("middle", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e("ShadyPi","点击中性");
                    }
                })
                .setView(dialog_view)
                .create()
                .show();
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android开发之AlertDialog实现弹出对话框

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android AlertDialog实现分享对话框/退出对话框/下载对话框

一.摘要 弹窗通常用于提示用户进行某种操作,比如:点击分享按钮,弹窗分享对话框;双击返回按钮,弹窗退出对话框;下载文件,提示下载对话框等等,分享对话框/退出对话框/下载对话框,都可以直接使用AlertDialog实现,类似的效果如下图:二.
2022-06-06

Android Alertdialog(实现警告对话框)

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式。下面我们模拟卸载应用程序时弹出的最为普通
2022-06-06

Android使用AlertDialog实现对话框

示例: 一、确定对话框AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("确认对话框");builder.setIcon(R.drawa
2022-06-06

Android中AlertDialog实现三种对话框

目录一:显示基础对话框二:自定义内容对话框三:完全自定义对话框 一:显示基础对话框 这是android中自带的基础框架,有提示标题,提示内容,确定和取消按钮 效果图://获取按钮对象Button btu_1=findViewById(R.i
2022-06-06

Android编程实现AlertDialog自定义弹出对话框的方法示例

本文实例讲述了Android编程实现AlertDialog自定义弹出对话框的方法。分享给大家供大家参考,具体如下:弹出对话框,显示自定义的布局文件弹出对话框提示设置密码或登录密码private void showSetPasswordDia
2023-05-30

Android开发之利用Activity实现Dialog对话框

前言在Android中经常要使用Dialog来实现一些提示以及一些特殊的效果,而且样式也不一样,每次都得查一大堆资料,还不一定能解决。对话框是个好东西,创建简单有实用。当下的开发中,很多的开发者反而更喜欢使用activity来代替对话框,至
2022-06-06

Android实现底部弹出的对话框功能

环境: 主机:WIN10 开发环境:Android Studio 2.2 Preview 3说明:两种方法实现底部弹出的对话框: Dialog DialogFragment推荐用DialogFragment效果图:布局文件dialo
2023-05-31

android怎么实现点击按钮弹出对话框

要在Android中实现点击按钮弹出对话框,可以按照以下步骤进行操作:1. 首先,在布局文件中添加一个按钮,例如:```xmlandroid:id="@+id/my_button"android:layout_width="wrap_con
2023-08-12

Android实现底部对话框BottomDialog弹出实例代码

最近项目上需要实现一个底部对话框,要实现这样的功能其实很简单,先看代码:private void show1() {Dialog bottomDialog = new Dialog(this, R.style.BottomDialog);V
2022-06-06

android底部弹出iOS7风格对话选项框(QQ对话框)--第三方开源之IOS_Dialog_Library

先给大家展示下效果图,喜欢的朋友可以下载源码哦。完成这个效果的是使用了 IOS_Dialog_Library 下载地址:http://xiazai.jb51.net/201509/yuanma/IOS_Dialog_Library(jb51
2022-06-06

Android仿QQ消息提示实现弹出式对话框

本文在《7种形式的Android Dialog使用实例》在这篇文章的基础进行学习,具体内容如下 1.概述android原生控件向来以丑著称(新推出的Material Design当另说),因此几乎所有的应用都会特殊定制自己的UI样式。而其中
2022-06-06

android点击按钮弹出对话框效果怎么实现

要实现Android点击按钮弹出对话框的效果,可以按照以下步骤进行操作:1. 在布局文件中添加一个按钮控件:```xmlandroid:id="@+id/btn_dialog"android:layout_width="wrap_conte
2023-08-08

PHP怎么实现弹出对话框功能

这篇文章主要介绍“PHP怎么实现弹出对话框功能”,在日常操作中,相信很多人在PHP怎么实现弹出对话框功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么实现弹出对话框功能”的疑惑有所帮助!接下来,请跟
2023-06-17

如何在Android应用中使用AlertDialog实现一个对话框

本篇文章为大家展示了如何在Android应用中使用AlertDialog实现一个对话框,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、确定对话框AlertDialog.Builder builde
2023-05-31

Android开发入门之对话框简单用法

本文实例讲述了Android开发入门之对话框简单用法。分享给大家供大家参考,具体如下: 注:本文只是一个学习笔记 用以记录自己学到哪了 1.获得AlertDialog的静态内部类Builder对象,由此类来创建对话框 2.通过Builder
2022-06-06

小程序开发 page-container 页面容器弹出对话框功能的实现

这篇文章主要介绍了小程序开发 page-container 页面容器,弹出对话框,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-11-13

Android开发中实现一个弹出框的方法

本篇文章给大家分享的是有关Android开发中实现一个弹出框的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。截图:动画效果介绍:1.点击ActionBar上“+”按钮,菜单
2023-05-31

Android开发必知 九种对话框的实现方法

在开发过程中,与用户交互式免不了会用到对话框以实现更好的用户体验,所以掌握几种对话框的实现方法还是非常有必要的。在看具体实例之前先对AlertDialog做一个简单介绍。AlertDialog是功能最丰富、实践应用最广的对话框,它可以生成各
2022-06-06

Android实现点击AlertDialog上按钮时不关闭对话框的方法

本文实例讲述了Android实现点击AlertDialog上按钮时不关闭对话框的方法。分享给大家供大家参考。具体如下: 开发过程中,有时候会有这样的需求: 点击某个按钮之后显示一个对话框,对话框上面有一个输入框,并且有“确认”和“取消”两个
2022-06-06

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录