`

android 如何让dialog不消失,即使是用户按了返回键dialog也不消

 
阅读更多

转于:

http://bbs.9ria.com/thread-204406-1-1.html

-------------------------------------------------------------------------------------

 

android 如何让dialog不消失,即使是用户按了返回键dialog也不消失
解决的问题:软件提示升级的dialog时候,用户有可能按了返回键,但是现在的需求是用户只能按“确定升级”或者“暂时不升级”这两个按钮才能拿dialog消失,按返回键不能使dialog消失 
方案:截取activity的 onkeydown事件,而应该截取dialog的key响应事件,当dialog在前台显示的时候,keylistener首先会派发到dialog里面,在那里面监听就行了。

先申明一个keylistener。

  1. OnKeyListener keylistener = new DialogInterface.OnKeyListener(){
  2.         public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
  3.             if (keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0)
  4.             {
  5.              return true;
  6.             }
  7.             else
  8.             {
  9.              return false;
  10.             }
  11.         }
  12.     } ;
复制代码

在把这个listener注册到dialog里面去 当初始化dialog的时候

  1.     builder.setTitle(getText(R.string.XXXX))
  2.                         .setMessage(getText(R.XXXXXX))
  3.                         .setOnKeyListener(key).setCancelable(false)
  4.                         .setPositiveButton(android.R.string.ok, someOKButtonListener)
  5.                         .setNegativeButton(android.R.string.cancel, null);
复制代码


PS: setCancelable(false),作用是当dialog弹出来的时候,如果触点在dialog外围,按照默认的方式 dialog将消失。如果这个设为false的话 这种情况dialog就不会消失了。  加了这一句就OK了。dialog.setCancelable(false);
分享到:
评论

相关推荐

    android中dialog点击按钮不消失详解

    在调用dialog的时候得到dialog对象,加入资料中代码,可以控制dialog的按钮在什么时候消失,而不是系统默认的点击消失

    Android 控制关闭Dialog

    然而,在某些特定场景下,我们可能希望在用户触发某个操作(如输入验证失败)时保持Dialog不关闭,以便用户可以修正错误。这就是描述中提到的问题——如何控制Dialog在点击按钮后不关闭。 要实现这一功能,我们可以...

    Android dialog的显示位置、弹出效果、返回键控制、外部点击事件控制功能点集合

    本篇文章将详细探讨如何实现Android Dialog的显示位置控制、弹出效果定制、返回键处理以及外部点击事件的管理。 首先,让我们关注Dialog的显示位置。在Android中,Dialog通常会居中显示,但有时我们可能需要自定义...

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

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

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

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

    很好android自定义dialog加载转圈等待,适合初学,透明+正常两种主题

    在DialogFragment中处理返回键事件,可以通过重写`onKeyDown()`或`onBackPressed()`方法,当检测到返回键被按下时,可以阻止其默认行为,即关闭Dialog,这样就能实现屏蔽返回键的功能。 此外,如果要添加动画效果,...

    Android Dialog更改样式及显示位置

    在Android开发中,Dialog是一种常见的用户交互界面,用于在主线程中显示临时信息或进行简单的用户操作。默认情况下,Dialog会出现在屏幕中央,但开发者可以根据需求自定义其样式和显示位置。本文将深入探讨如何在...

    Android自定义显示内容的Dialog

    在Android开发中,有时我们可能需要创建具有独特设计和功能的对话框,以满足特定的用户界面需求。这里我们将深入探讨两种实现自定义显示内容的Dialog的方法:继承Dialog和继承PopupWindow。 首先,我们来看继承...

    Android 底部弹出dialog+动画

    在Android开发中,底部弹出Dialog是一种常见的交互方式,它用于显示临时信息或者提供用户一些简短的操作选项。本文将详细讲解如何实现一个带有动画效果的底部弹出Dialog,并通过具体的代码实例进行演示。 首先,...

    Android自定义Dialog多选对话框(Dialog+Listview+CheckBox)

    在Android开发中,自定义Dialog是一种常见的需求,用于提供一种轻量级的用户交互界面,如提示信息或者进行选择操作。本示例是关于如何创建一个具有多选功能的Dialog,结合了Dialog、ListView和CheckBox的使用。下面...

    Android Dialog全屏显示、动画显示

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

    android 自定义右上角关闭按钮X的dialog

    在Android开发中,自定义对话框(Dialog)是一种常见的需求,它可以提供更加个性化的用户体验。本文将详细讲解如何实现一个自定义的右上角带有“X”文字按钮的Dialog,这个按钮可以用来关闭Dialog。 首先,我们需要...

    Android dialog单选、多选弹窗

    在Android开发中,Dialog是一种常见的用户交互界面,用于显示临时信息或者进行简单的用户操作选择。在标题"Android dialog单选、多选弹窗"中,我们主要关注的是两种类型的Dialog:单选对话框(Radio Button Dialog)...

    Android Dialog中加载GIF

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

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

    在Android应用开发中,为了帮助用户更好地理解和使用新功能,开发者常常会采用引导页或新手引导来引导用户。本文将详细介绍如何使用自定义Dialog来实现...这样,即使对于初次接触应用的用户,也能快速了解并上手使用。

    Android dialog显示位置

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

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

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

    Android-dialog库可以在任意类内调用子线程或ui线程内均可显示

    在Android应用开发中,对话框(Dialog)是一种常见的用户交互元素,用于向用户展示临时信息、请求确认或者提供选项。标题提到的“Android-dialog库”是Android开发中的一个第三方库,它提供了一种灵活的方式,使得...

    Android自定义dialogDemo

    在Android开发中,自定义Dialog是一种常见的用户交互方式,它能提供更为丰富的界面展示和定制化功能,使得应用能够以更吸引人的方式与用户进行沟通。`Android自定义dialogDemo`是一个实例,帮助开发者理解如何在...

    Android dialog 大合集源码

    - 为Dialog设置取消监听器,当用户点击对话框之外或按下返回键时可以执行相应的回调函数。 11. **异步任务中的Dialog**: - 在进行网络请求或其他异步操作时,使用Dialog显示加载状态,直到任务完成才关闭。 ...

Global site tag (gtag.js) - Google Analytics