`

Android Dialog使用

阅读更多

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

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

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

01 protected void dialog() {
02     AlertDialog.Builder builder = new Builder(Main.this);
03     builder.setMessage("确认退出吗?");
04     builder.setTitle("提示");
05     builder.setPositiveButton("确认"new OnClickListener() {
06      @Override
07      public void onClick(DialogInterface dialog, int which) {
08       dialog.dismiss();
09       Main.this.finish();
10      }
11     });
12     builder.setNegativeButton("取消"new OnClickListener() {
13      @Override
14      public void onClick(DialogInterface dialog, int which) {
15       dialog.dismiss();
16      }
17     });
18     builder.create().show();
19    }

在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法 

1 public boolean onKeyDown(int keyCode, KeyEvent event) {
2     if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
3      dialog();
4     }
5     return false;
6    }

2.改变了对话框的图表,添加了三个按钮

 

创建dialog的方法代码如下:

01 Dialog dialog = new AlertDialog.Builder(this).setIcon(
02        android.R.drawable.btn_star).setTitle("喜好调查").setMessage(
03        "你喜欢李连杰的电影吗?").setPositiveButton("很喜欢",
04        new OnClickListener() {
05         @Override
06         public void onClick(DialogInterface dialog, int which) {
07          // TODO Auto-generated method stub
08          Toast.makeText(Main.this"我很喜欢他的电影。",
09            Toast.LENGTH_LONG).show();
10         }
11        }).setNegativeButton("不喜欢"new OnClickListener() {
12       @Override
13       public void onClick(DialogInterface dialog, int which) {
14        // TODO Auto-generated method stub
15        Toast.makeText(Main.this"我不喜欢他的电影。", Toast.LENGTH_LONG)
16          .show();
17       }
18      }).setNeutralButton("一般"new OnClickListener() {
19       @Override
20       public void onClick(DialogInterface dialog, int which) {
21        // TODO Auto-generated method stub
22        Toast.makeText(Main.this"谈不上喜欢不喜欢。", Toast.LENGTH_LONG)
23          .show();
24       }
25      }).create();
26      dialog.show();

3.信息内容是一个简单的View类型

 

创建dialog方法的代码如下:

1 new AlertDialog.Builder(this).setTitle("请输入").setIcon(
2        android.R.drawable.ic_dialog_info).setView(
3        new EditText(this)).setPositiveButton("确定"null)
4        .setNegativeButton("取消"null).show();

4.信息内容是一组单选框

 

创建dialog方法的代码如下:

1 new AlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems(
2        new String[] { "Item1""Item2" }, nullnull)
3        .setPositiveButton("确定"null)
4        .setNegativeButton("取消"null).show();

5.信息内容是一组多选框

 

创建dialog方法的代码如下:

1 new AlertDialog.Builder(this).setTitle("单选框").setIcon(
2        android.R.drawable.ic_dialog_info).setSingleChoiceItems(
3        new String[] { "Item1""Item2" }, 0,
4        new DialogInterface.OnClickListener() {
5         public void onClick(DialogInterface dialog, int which) {
6          dialog.dismiss();
7         }
8        }).setNegativeButton("取消"null).show();

6.信息内容是一组简单列表项

 

创建dialog的方法代码如下:

1 new AlertDialog.Builder(this).setTitle("列表框").setItems(
2        new String[] { "Item1""Item2" }, null).setNegativeButton(
3        "确定"null).show();

7.信息内容是一个自定义的布局

 

dialog布局文件代码如下:

01 <?xml version="1.0" encoding="utf-8"?>
02  
03   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
04    android:layout_height="wrap_content" android:layout_width="wrap_content"
05    android:background="#ffffffff" android:orientation="horizontal"
06    android:id="@+id/dialog">
07    <TextView android:layout_height="wrap_content"
08      android:layout_width="wrap_content"
09     android:id="@+id/tvname" android:text="姓名:" />
10    <EditText android:layout_height="wrap_content"
11     android:layout_width="wrap_content" android:id="@+id/etname"android:minWidth="100dip"/>
12   </LinearLayout>

创建dialog方法的代码如下: 

1 LayoutInflater inflater = getLayoutInflater();
2      View layout = inflater.inflate(R.layout.dialog,
3        (ViewGroup) findViewById(R.id.dialog));
4      new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout)
5        .setPositiveButton("确定"null)
6        .setNegativeButton("取消"null).show();

 

关于Android4.0的Alertdialog对话框

Dialog点击屏幕外不消失的问题

 

 

最近在做Android4.0的开发,发现AlertDialog相比较以前有了较大变化,就是在触摸对话框边缘外部,对话框消失

 

于是研究其父类发现,可以设置这么一条属性,当然必须先AlertDialog.Builder.create()之后才能调用这两个方法

 

方法一:

 

setCanceledOnTouchOutside(false);调用这个方法时,按对话框以外的地方不起作用。按返回键还起作用

 

方法二:

 

setCanceleable(false);调用这个方法时,按对话框以外的地方不起作用。按返回键也不起作用

 

这两个方法都属于Dialog方法,可自行查阅SDK

 

分享到:
评论

相关推荐

    7种形式的Android Dialog使用实例

    本文将详细介绍7种常见的Android Dialog使用实例,帮助开发者更好地理解和应用这些对话框。 1. 基本确认对话框 这种对话框通常用于确认用户的操作,例如退出应用。创建此类Dialog的基本代码如下: ```java ...

    Android Dialog使用详解

    在本文中,我们将深入探讨如何在Android应用中有效地使用Dialog。 首先,理解Dialog的基本概念。Dialog通常包含一个标题(title)、内容(content)和一组按钮(如“确定”、“取消”)。它们可以是模态(阻塞用户...

    各种Android Dialog创建及其监听事件实现

    在Android开发中 我们经常会需要在Android界面上弹出一些对话框 比如询问用户或者让用户选择 关于Android Dialog的使用方法 已经有很多blog做出了详细的介绍(比如博客:7种形式的Android Dialog使用举例) 但是只是...

    Android Dialog中加载GIF

    在Android开发中,有时我们需要在Dialog中展示动态内容,如GIF动图,来提供更丰富的用户交互体验。本文将详细讲解如何在Android Dialog中利用Glide库加载并播放GIF。 首先,Glide是一个非常流行的Android图片加载库...

    Android Dialog与软键盘的正确打开方式

    在Android开发中,Dialog是一种常见的用户交互界面,用于显示临时信息或者进行简单的用户操作。而软键盘的管理和显示则是移动应用用户体验的关键因素之一。本文将深入探讨如何在Android中正确处理Dialog与软键盘的...

    Android Dialog更改样式及显示位置

    2. 使用第三方库:例如`androidx.core.widget.TintEditText`库,它提供了一种更灵活的方式来控制Dialog的位置。 在压缩包文件`MyDialog`中,可能包含了一个示例项目,展示了如何实现上述自定义Dialog样式和位置的...

    Android Dialog全屏显示、动画显示

    在Android开发中,自定义Dialog是一种常见的用户交互方式,它能提供更为丰富的界面和功能,以满足特定场景下的需求。本教程将详细讲解如何创建一个全屏显示且带有动画效果的自定义Dialog,并结合相机和图片选择的...

    Android Dialog设置透明背景以及位置

    在Android开发中,Dialog是一种常见的用户交互组件,用于在主线程中显示临时信息或进行简单的操作选择。在设计用户界面时,有时我们可能希望Dialog具有透明背景或者可以自定义其显示位置,以达到更佳的视觉效果。本...

    Dialog的正确使用方式

    在Android开发中,Dialog是一种非常常见的用户界面组件,它用于在主界面之上显示临时的通知或交互窗口,以向用户展示信息、请求确认或者提供选项。本篇将详细讲解如何正确使用Dialog及其规范模板,以及创建Dialog的...

    Android dialog显示位置

    在Android开发中,Dialog是一种非常常见的用户界面组件,它用于向用户展示临时信息或进行简单的交互操作。对话框通常会浮现在应用主界面之上,但它的显示位置可以根据开发者的需求进行定制。本文将深入探讨如何在...

    Android Dialog各种实现

    在Android开发中,Dialog...总的来说,Android Dialog是与用户交互的重要工具,理解并熟练使用各种Dialog可以帮助提升应用的用户体验。通过系统提供的Dialog和自定义Dialog,开发者可以根据应用场景选择最适合的方案。

    Android dialog单选、多选弹窗

    在标题"Android dialog单选、多选弹窗"中,我们主要关注的是两种类型的Dialog:单选对话框(Radio Button Dialog)和多选对话框(Checkbox Dialog),以及可能涉及到的PopWindow窗口。 1. **单选对话框**: 单选...

    android dialog向上弹效果

    总之,"android dialog向上弹效果"是通过Android的动画系统实现的,可以使用内置的动画类或者自定义XML动画资源。结合自定义Dialog和适当的布局设计,可以创建出具有专业水准和独特风格的Dialog动画效果。在实际开发...

    android dialog输入框获取数据

    3. **理解基本概念**:熟悉Android中Dialog的基本用法,了解LayoutInflater的作用及如何使用findViewById方法获取控件引用。 #### 三、实现步骤 接下来,我们将按照以下步骤来实现带有输入框的Dialog,并从中获取...

    android dialog嵌套ListView

    在Android开发中,有时我们需要创建一个对话框(Dialog)来展示一些信息或者提供用户交互,例如选择、设置等。在这种情况下,如果对话框中的内容需要包含列表数据,我们就会使用到`Dialog`嵌套`ListView`的技术。这...

    Android中用Dialog来做使用引导/新手引导页面

    在Android应用开发中,为了帮助用户更好地理解和使用新功能,开发者常常会采用引导页或新手引导来引导用户。本文将详细介绍如何使用自定义Dialog来实现这样的功能,特别针对初次使用APP的用户,通过半透明蒙版高亮...

    android dialog基本用法

    总结,Android Dialog的基本用法涵盖了多种场景,开发者可以根据需求灵活选择或组合使用。通过学习和实践,我们可以创建出满足应用需求的对话框,提升用户体验。在实际项目中,还可以结合动画、过渡效果等进一步优化...

    各种android弹出dialog效果以及各种dialog样式

    各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果...

Global site tag (gtag.js) - Google Analytics