Android Dialog

Android Dialog详解 在Android开发过程中我们经常会遇到如下的场景: 在界面上弹出一个弹框,对用户进行提醒,并让用户做出某些选择性的操作                                                               删除某个应用的系统级别的Dialog                                                           ... 阅读详情

文章转自http://www.oschina.net/question/54100_32486

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。

1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。

创建dialog对话框方法代码如下:

protected void dialog() {
    AlertDialog.Builder builder = new Builder(Main.this);
    builder.setMessage("确认退出吗?");
    builder.setTitle("提示");
    builder.setPositiveButton("确认", new OnClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
      Main.this.finish();
     }
    });
    builder.setNegativeButton("取消", new OnClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
     }
    });
    builder.create().show();
   }
在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法 
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
     dialog();
    }
    return false;
   }
2.改变了对话框的图表,添加了三个按钮

创建dialog的方法代码如下:

Dialog dialog = new AlertDialog.Builder(this).setIcon(
       android.R.drawable.btn_star).setTitle("喜好调查").setMessage(
       "你喜欢李连杰的电影吗?").setPositiveButton("很喜欢",
       new OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
         // TODO Auto-generated method stub
         Toast.makeText(Main.this, "我很喜欢他的电影。",
           Toast.LENGTH_LONG).show();
        }
       }).setNegativeButton("不喜欢", new OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
       // TODO Auto-generated method stub
       Toast.makeText(Main.this, "我不喜欢他的电影。", Toast.LENGTH_LONG)
         .show();
      }
     }).setNeutralButton("一般", new OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
       // TODO Auto-generated method stub
       Toast.makeText(Main.this, "谈不上喜欢不喜欢。", Toast.LENGTH_LONG)
         .show();
      }
     }).create();
     dialog.show();
3.信息内容是一个简单的View类型

创建dialog方法的代码如下:

new AlertDialog.Builder(this).setTitle("请输入").setIcon(
       android.R.drawable.ic_dialog_info).setView(
       new EditText(this)).setPositiveButton("确定", null)
       .setNegativeButton("取消", null).show();
4.信息内容是一组单选框

创建dialog方法的代码如下:

new AlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems(
       new String[] { "Item1", "Item2" }, null, null)
       .setPositiveButton("确定", null)
       .setNegativeButton("取消", null).show();
5.信息内容是一组多选框

创建dialog方法的代码如下:

new AlertDialog.Builder(this).setTitle("单选框").setIcon(
       android.R.drawable.ic_dialog_info).setSingleChoiceItems(
       new String[] { "Item1", "Item2" }, 0,
       new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
         dialog.dismiss();
        }
       }).setNegativeButton("取消", null).show();
6.信息内容是一组简单列表项

创建dialog的方法代码如下:

new AlertDialog.Builder(this).setTitle("列表框").setItems(
       new String[] { "Item1", "Item2" }, null).setNegativeButton(
       "确定", null).show();
7.信息内容是一个自定义的布局

dialog布局文件代码如下:

<?xml version="1.0" encoding="utf-8"?>

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_height="wrap_content" android:layout_width="wrap_content"
   android:background="#ffffffff" android:orientation="horizontal"
   android:id="@+id/dialog">
   <TextView android:layout_height="wrap_content"
     android:layout_width="wrap_content"
    android:id="@+id/tvname" android:text="姓名:" />
   <EditText android:layout_height="wrap_content"
    android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/>
  </LinearLayout>
创建dialog方法的代码如下: 
LayoutInflater inflater = getLayoutInflater();
     View layout = inflater.inflate(R.layout.dialog,
       (ViewGroup) findViewById(R.id.dialog));
     new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout)
       .setPositiveButton("确定", null)
       .setNegativeButton("取消", null).show();

好了,以上7种Android dialog对话框的使用方法就介绍到这里了,基本都全了,如果大家在android开发过程中遇到dialog的时候就可以拿出来看看。

另外注,本文参考文章: 
http://android.tgbus.com/Android/tutorial/201107/359812.shtml

Android Studio中实现弹出提示框的两种方法 使用AlertDialog可以展示更加复杂的对话框,允许用户进行交互,适合展示需要用户确认或者取消的信息。而使用Toast则适合展示简短的提示信息,比如操作成功或者失败的提示。在Android Studio中,我们可以通过两种方法来实现弹出提示框:使用AlertDialog和Toast。AlertDialog是Android提供的一个用于展示对话框的类,它可以用来显示消息、警告、错误等信息,并允许用户与对话框进行交互。Toast是Android提供的一个轻量级的提示框,它用于在屏幕上显示一条简短的消息。 阅读详情

相关推荐

TortoiseGit之配置密钥

基于github的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具,来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥。

欧文的博客 2091

7种形式的Android Dialog使用举例

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。 1.该效果是当按返回按钮时弹出一个提示,来确保

emerald0106的专栏 653

H3C-HCL模拟器-STP生成树协议实验

边缘接口的存在是为了提高网络的收敛速度和性能。由于边缘接口连接的是终端设备,这些设备通常不会产生环路,因此不需要参与生成树协议的计算和决策。边缘接口通常是指那些不会连接到其他交换机或生成树的冗余路径的接口。H3C交换机千兆口的cost默认是20,把SW2的g1/0/2接口的cost改为100;SW4是根网桥,根据STP计算,闭塞端口应该在SW1上;方法:使得SW2到SW1的cost比SW4到SW1更大;7)修改配置:把SW1连接PC的所有接口配置为边缘接口。协议的计算开销,提高网络的收敛速度。

网络工程 2997

对话框AlertDialog的基本类型与创建

测试代码:  布局: activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"

xzylx1的博客 449

SpringBoot项目整合达梦数据库(MYSQL 转换 达梦数据库)

注意:当迁移过程中出现下面问题时,如有触发器或者外键,需要先关掉触发器和外键,然后进行迁移,不然会导致迁移失败。(2)dm.ini修改【#compatibility】的【COMPATIBLE_MODE】=4。3、添加用户:如果导入的DM数据库需要和MYSQL的用户一样,添加ROOT用户。方法一:服务器配置:设置系统兼容性(DM控制台工具),兼容MySQL。服务器配置又该有两种方式:①DM控制台工具修改;MYSQL的数据表转换成DM的数据表时,点击转换按钮。在这里操作:MYSQL数据库迁移至DM数据库。

m0_74824635的博客 2013

从零到一:IC Compiler II(ICC II)后端设计流程详解

本文详细解析了IC Compiler II(ICC II)后端设计流程,从环境准备到物理实现,再到布线优化与签核验证。通过实战案例和高效技巧,帮助工程师掌握ICC II工具链的应用,提升数字集成电路设计的效率和质量。

weixin_30879169的博客 347

Android AlertDialog类

1. 创建AlertDialog AlertDialog继承Dialog类,是系统自带的对话框。 AlertDialog.Builder提供了setTitle(),setIcon()和setMessage()来创建。 new AlertDialog.Builder(this) .setTitle(&amp;amp;quot;标题&amp;amp;quot;) .setIcon(R.mipmap.ic_launcher...

假装你是大灰狼的专栏 4448

【微服务】Spring Aop原理深入解析

spring原理深度解析

congge 1万+

Android 带输入框圆角Dialog--EditDialog

在做项目二的时候,有一个这样的需求:这种效果是iOS中默认的是圆角效果, 在Android中就需要自己写了, 这里拿出来作为我的第一篇正式技术博客分享给大家,随便总结一下 , 其实就是一个组合控件。废话先不多说, 直接上实现代码 :public class EditDialog extends Dialog implements View.OnClickListener { private

Ai 1420

学Simulink--进阶电机控制场景实例:基于Simulink的异步电机定子磁链定向控制(SFOC)仿真

本文详细介绍了基于Simulink的异步电机定子磁链定向控制(SFOC)仿真实现方法。主要内容包括:1) SFOC原理分析,突出其对转子参数不敏感的优势;2) 工业风机驱动系统的完整建模流程,涵盖主电路搭建、坐标变换、磁链观测器设计等关键步骤;3) 核心模块代码实现,包括电压模型磁链观测器和双闭环PI控制器;4) 仿真结果验证了SFOC在转速响应(0.2s)、转矩恢复(0.15s)和参数鲁棒性(转子电阻变化50%时转速波动<2%)方面的优异性能。本文为工程师提供了实用的SFOC系统开发指南,特别适用于

amy_mhd的博客 117

【知识图谱】Neo4j基本操作及数据库文件导入(graph.db.dump)

初探Neo4j导入数据备份数据客户端操作导入csv文件指定csv文件格式使用命令行导入csv文件附录 请读者参考上篇博文 Neo4j安装教程 导入数据 若开启服务,先在终端停止 Neo4j 服务 ./neo4j stop 接下来,下载射雕三部曲的数据库文件 wget https://labfile.oss.aliyuncs.com/courses/1354/graph.db.dump 下载完将出现 graph.db.dump 文件: 将数据库文件导入到 Neo4j 中 首先进入neo4j 根目录下:

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 8621

安卓dialog的使用+如何自定义dialog

吐槽 哇哇哇,刚写一半win10给我蓝屏了,心塞塞,以后写一点保存一点。回到正题,看到产品给我的设计图,有辣么多的自定义的dialog,发现之前自己只会系统自带的dialog,但是这样根本满足不了产品的需求,所以自己上周好好总结下,然后把产品给的需求完成。//哇哇哇,项目写不完了 什么叫dialog 简单来说就是一句话: 弹出一个窗口,提示用户自己去选择,去提示,去分类的一些内容。 安卓...

sakurakider的博客 6万+

【制作100个unity游戏之30】使用unity实现一款2d俯视角RPG战斗游戏,主要使用InputSystem+有限状态机+A*寻路实现(完结,附带项目源码)

【制作100个unity游戏之30】使用unity实现一款2d俯视角RPG战斗游戏,主要使用InputSystem+有限状态机+A*寻路实现

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4659

android如何自定义dialog,安卓dialog的使用+如何自定义dialog

什么叫dialog简单来说就是一句话:弹出一个窗口,提示用户自己去选择,去提示,去分类的一些内容。安卓自带的dialog有三种: - AlertDialog—-普通的提示对话框- ProgressDialog–进度条对话- DatePickerDialog/TimePickerDialog–日期对话框/时间对话框所有的对话框,都是直接或间接继承自Dialog类,而AlterDialog直接继承自D...

weixin_28779183的博客 6051

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

安卓Dialog的使用+如何自定义Dialog

什么叫dialog 简单来说就是一句话: 弹出一个窗口,提示用户自己去选择,去提示,去分类的一些内容。 安卓自带的Diaalog有三种: - AlertDialog—-普通的提示对话框 - ProgressDialog–进度条对话 - DatePickerDialog/TimePickerDialog–日期对话框/时间对话框 所有的对话框,都是直接或间接继承自Dialog类,而AlterDialog直接继承自Dialog,其他的几个类均继承自AlterDialog。 系统自带的dialog基本上用A

深度理解是快乐的源泉 6070

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Android 安卓自定义Dialog工具类封装与使用,腾讯安卓面试

在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。

2401_84149765的博客 830

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

安卓Android 不依赖于Activity 显示Dialog弹窗

2、此弹窗为仅当不依赖于Activity时,如何弹出AlertDialog,如需弹出更复杂的全局Dialog,需编写一个最定义的Dialog类继承于Dialog,此弹窗的显示方法如下,当想要展示弹窗时,只需要调用此方法:showCameraPrivacyDialog()1、使用自定义布局,首先创建自定义的布局文件,即xml文件,其中各种background可以参考。

m0_54198552的博客 710

安卓Android Dialog的使用

需求:在Dialog不关闭的情况下,切换不同的布局,也就是一级页面、二级页面。2、自定义MusicRecognitionDialog类,继承自Dialog。3、在MainActiviy中显示Dialog。

m0_54198552的博客 320

Android 安卓自定义Dialog工具类封装与使用

文章目录Android 安卓Dialog工具类封装与使用效果图配置JavaKotlin使用方法JavaKotlin Android 安卓Dialog工具类封装与使用 安卓自定义Dialog,分别用了Kotlin和Java两种语言列出!布局可以自定义! 效果图 布局是自定义的 配置 style.xml中配置 <style name="BoxDialog" parent="@android:style/Theme.Holo.Dialog"> <!-- 是否有边框 -->

两行代码 踏踏实实de工作 6012

Android的各种Dialog,你都知道吗?

简单来说就是一个对话框和按钮为特定事件指定了功能:即弹出一个窗口,提示用户自己去选择,去提示,去分类的一些内容。

程序羊的博客 1万+

Android 自定义Dialog

自定义Dialog: public class MyDialog extends Dialog implements View.OnClickListener { private Context context; private int layoutResID;//布局文件id private int[] listenedItem;//监听的控件id Strin...

孙先森的博客 319

Android/安卓 自定义Dialog 最简单、最详细解释

全网最简明的自定义Dialog

Chyumin的博客 1万+

安卓Android Dialog 点击外部消失监听

2、点击弹窗外部不消失,物理返回键消失:setCanceledOnTouchOutside(false);Log.e(TAG, "onCancel: " + "取消识别");3、点击弹窗外部及物理返回键均不消失: setCancelable(false);1、Dialog 默认点击外部/物理返回键会消失。

m0_54198552的博客 560

Android中Dialog的简单使用

实现方法也不是很复杂,一般项目中我们都会通过一个类来管理我们的Activity,即AppManager,所以只要能获取到当前显示的Activity就行了,也就是栈顶的Activity,再封装一个BaseActivity类统一管理,给各个Activity继承,然后需要主页面或者主类(mainactivity)处理Dialog的显示问题,通过管理APP(AppManager)获取到当前栈顶的Activity,用于构造Dialog就行了。/** * Activity管理类 * @author Donkor */

m0_61499908的博客 2650

android 获取dialog的view,Android 原生Dialog实现

1. 简介Dialog 是一个可以展示信息以及和用户交互的小窗体.1.1 Dialog 的组成部分Title 标题部分 : 这部分是可选的,只有当内容区域被使用了才可以使用这里.(并不是强制的)Content 内容区域 : 显示信息的部分,可以使用自定义布局.Action Buttons 交互按钮 : 最多三个按钮.(Positive,Negative, Neutral)1.2 管理Dialog使...

weixin_42349769的博客 2029

android dialog动画_安卓开发之实现全局对话框(不用Dialog方式实现)

前言:最近公司产品做版本更新时,提出了一个新的需求,内容就如标题所述,需要弹出全局的对话框来实现一部分功能。设计图如下请求连麦弹窗其实实现全局对话框的方式有多种:1、通过悬浮窗或者利用悬浮窗权限进行展示。2、有通过写一个BaseActivity然后所有的Activity都继承它在弹出“对话框”的。我再项目中应用的是第二种方式,一开始我觉得这个功能其实挺简单的,拿到设计图和具体功能需求后,...

weixin_40008946的博客 321
上一篇: C# String 前面不足位数补零的方法
下一篇: 灰度图
sql2zy
博客等级 码龄19年 37粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值