Android Dialog的七种形式

Android Dialog显示成Activity(全屏) 前言我们都知道要想让一个Activity显示成为Dialog的样式可以对Activity指定Dialog的主题(Theme),但今天使用PreferenceScreen时发现内嵌的PreferenceScreen将一个对话框(Dialog)显示出了Activity的效果。这是怎么做到的呢,今天就来分析一下其中的原理。现象在preference的配置文件中配置内嵌的PreferenceScreen标签 阅读详情


本文来自Android100 http://www.android100.org/html/201302/18/1611.html

在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();

26   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布局文件代码如下:

 android:layout_height="wrap_content"android:layout_width="wrap_content"

     android:background="#ffffffff" android:orientation="horizontal"

    android:id="@+id/dialog">

     android:layout_width="wrap_content"

   android:id="@+id/tvname" android:text="姓名:" />


   android:layout_width="wrap_content" android:id="@+id/etname"android:minWidth="100dip"/>

创建dialog方法的代码如下:

LayoutInflater inflater = getLayoutInflater();

   View layout = inflater.inflate(R.layout.dialog,

    (ViewGroup) findViewById(R.id.dialog));

   newAlertDialog.Builder(this).setTitle("自定义布局").setView(layout)

    .setPositiveButton("确定", null)

   .setNegativeButton("取消", null).show();

好了,以上7种Android dialog对话框的使用方法就介绍到这里了,基本都全了
Android中常见八种Dialog Eclipse平台实现Android中常见的八种对话框(Dialog),包括简单Dialog,列表Dialog,复选框Dialog,单选Dialog,进度条Dialog,日期dialog,时间Dialog,自定义Dialog。自定义Dialog实现的是包含用户账号和密码的登录界面对话框。 立即下载

相关推荐

安装VMware,出现没有虚拟网络适配器的问题

安装VMware,出现没有虚拟网络适配器的问题

Young_Harry的博客 1万+

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

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

程序羊的博客 1万+

Calpuff模型实战:从气象数据预处理到污染物扩散模拟全流程指南

本文提供了一份详尽的Calpuff模型实战指南,涵盖从气象数据预处理、地形处理到污染物扩散模拟与结果可视化的全流程。重点解析了Calmet气象场构建、Calpuff核心参数配置,并与AERMOD模型进行对比,帮助环境工程师与科研人员掌握这一强大的三维非稳态拉格朗日扩散模型,以应对复杂地形、海岸熏烟等实际模拟挑战。

s4t5u6v7的博客 458

Android中常用对话框、弹出框、Dialog的使用

Android开发中常会使用到Dialog对话框,如拦截返回键后问是否退出。

m0_57150356的博客 7307

STGCN+YOLOV8行为分类

使用关节点追踪网络获取关节点数据,以yolo-v8网络为例,获取2D关节点数据。此次实验采用KTH动作识别数据集,包含人步行、慢跑、跑步、拳击、挥手和拍手等动作。

SDADASDAF的博客 3887

一文读懂无人机AI识别算法,原理、技术、应用

本文详细介绍了无人机识别算法的工作原理、技术优势以及在多个行业的应用前景,展现了其在提升安全监控、资源管理和应急响应中的关键作用。尽管无人机识别算法在多个领域展现出巨大潜力,但仍面临技术挑战,如算法的准确性、数据的实时处理能力以及对复杂环境的适应性。4. 消防与城市管理: 无人机识别算法在消防和城市管理中的应用,为相关部门提供了及时的信息支持,提升了应急处置能力和城市管理水平。1. 公安监控: 无人机识别算法在公安领域的应用,可以实时识别犯罪嫌疑人和违法行为,有效提升城市治安管理的智能化水平。

foiadrone的博客 1846

Android Dialog的十种类型汇总

普通对话框 button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { AlertDialog.Builder builder = new AlertDialog.Builder(Al

JKerving的博客 1078

通达信量化打板选股指标公式源码副图

X_2:=3*LOW;X_13:=4;X_14:=3;X_15:=2;X_16:=1;

gpzb7的博客 4480

Dialog显示和消失流程分析

Android 系统dialog显示隐藏流程

Android framework 2075

从Chimera到ChimeraX:科研绘图升级指南,让你的论文配图更专业

本文详细介绍了从UCSF Chimera升级到ChimeraX的科研绘图指南,帮助研究者提升论文配图质量。ChimeraX在渲染引擎、大分子处理能力和动画功能上具有显著优势,特别适合生命科学和结构生物学领域。文章涵盖材质设置、专业配色、工作流程和期刊适配等核心技巧,助力产出出版级分子可视化图像。

weixin_33670786的博客 927

整理 钢琴 约翰·汤普森现代钢琴(大汤)

大汤

TS的博客 3991

Android常用对话框大全——Dialog

唉!最近一直忙碌着写项目以至于都没有空出点时间来总结近期的学习,记录学习到的东西…现在正好有时间了就该好好记录一下学习的过程了。今天就来谈谈开发中经常用的到的一个控件——Dialog,对话框一般我们就用来提示一些信息给用户,让用户自主选择,或者在一些操作不可逆的情况下我们提示用户是否继续操作,下面就让我们一起来学习吧。老司机发车啦…一:最简单的对话框 AlertDialog dialog = new

上辈子作恶多端,这辈子写前端。 7万+

计算机组成原理(第三版)唐朔飞-第六章计算机的运算方法-课后习题(1-16)

计算机组成原理(第三版)唐朔飞-第六章计算机的运算方法-课后习题(1-16)

weixin_45735391的博客 8万+

Android中activity以dialog的形式出现

activity变身为dialog可以实现多功能的dialog,闲话少说直接上代码!MainActivity.class/** * Activity伪装成的Dialog需要继承Activity * 弹窗Activity需要添加主题Theme */ public class MainActivity extends AppCompatActivity { @Override pro

蜕变之道 3356

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

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

Dialog的7种形式

DialogAct.java文件

ssmoom的专栏 961

计算机控制技术及应用

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

Activity以dialog形式打开

关键技术点: 在AndroidManifest.xml中定义activity时,加上android:theme="@android:style/Theme.Dialog" 属性即可 例如:             android:name=".DialogActivity"             android:label="测试的"             android:the

u011379195的专栏 2594

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

以dialog的形式弹出定位地图

dialog = new Dialog(context, R.style.dialog); // 自定义dialog宽和高 // setDialog(); View viewMap = LayoutInflater.from(context).inflate( R.layout.dialog_baidumap, null); iv_close = (Image

伍新的博客 2760

将Activity以Dialog的形式出现

话不多说,直接写步骤 1、style文件中 <style name="ActivityDialogStyle2" parent="@style/Theme.AppCompat.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> &l...

qq_25330791的博客 687

安卓自定义列表dialog

前言 很早之前写过一篇 自定义提示信息Dialog 如图: 这个形式也是最常用的,不过最近需要用到列表信息Dialog,原生的不光样式不能满足需求,而且是开发电视端的APP,需要对焦点进行特殊处理,所以就需要自定义Dialog 我们先来看一下系统自带的列表Dialog。 系统自带列表Dialog 第一种:纯列表 我们先来看第一种: 最简单的一种,没有当前状态,只有列表...

李彬博客专栏 1万+

7种形式的Android Dialog使用举例

7种形式的Android Dialog使用举例 鉴客 发表于 11-22 08:06 10个月前, 4回/9723阅, 最后回答: 2个月前 讨论区 » 技术分享 【杭州】开源中国-源创会第十三期开始报名 我要报名» 在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它And

wh123weixiao123的专栏 459

Dialog形式的Activity——个人学习记录

Dialog形式的Activity一、Style1、Style(继承自 AppCompatActivity 时的用法)2、备注二、Manifast文件三、java文件和xml界面文件四、参考文献 一、Style 1、Style(继承自 AppCompatActivity 时的用法) <style name="dialogActivityStyle" parent="Theme...

SMG_Vector的博客 255

android activity dialog 高度,将Activity以Dialog形式显示,并设置宽高度

一、将Activity以Dialog形式显示android:name=".activity.DoctorListActivity"android:theme="@style/dialogStyle2"/>res/values/styles.xml 样式文件中定义一个对话框主题样式truetrue@nulltrue@null@android:color/transparenttrue@styl...

weixin_32475629的博客 1020

android dialog一个按钮,7种形式的Android Dialog使用实例

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

weixin_35954566的博客 851

整理关于activity以dialog的形式弹出

整理activity以dialog的形式弹出前言正文结束 前言 最近项目中遇到遇到了把之前的一个activity的以dialog的形式弹出,以减少代码的改动。参考了很多方法,最终实现此功能,记录一下。 正文 具体步骤: 在style文件中增加activity的样式 <!-- 类似对话框效果 --> <style name="MyDialogTopRight" parent="Theme.AppCompat.Light.NoActionBar"> <i

itdream88的博客 1804

将Activity以Dialog形式显示,并设置宽高度

一、将Activity以Dialog形式显示 &lt;activity android:name=".activity.DoctorListActivity" android:theme="@style/dialogStyle2" /&gt;  res/values/styles.xml 样式文件中定义一个对话框主题样式...

songzi1228的博客 4865

android中编辑dialog,Android 中简单实现8种Dialog

1.写在前面Android提供了丰富的Dialog函数,本文介绍最常用的8种对话框的使用方法,包括普通(包含提示消息和按钮)、列表、单选、多选、等待、进度条、编辑、自定义等多种形式,将在第2部分介绍。有时,我们希望在对话框创建或关闭时完成一些特定的功能,这需要复写Dialog的create()、show()、dismiss()等方法,将在第3部分介绍。2.代码示例图片示例2.1 普通Dialog(...

weixin_34644635的博客 495
上一篇: Android反编译锁机文件
下一篇: Android Handler详解
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值