`

Android 设置Dialog不允许返回或搜索键消除

 
阅读更多
1、如果只想阻止“返回键”关闭Dialog最简单的setCancelable(false)



2、最简单的方法重载Activity的OnKeyDown()方法,捕捉想要屏蔽的按键:



public boolean onKeyDown(int keyCode, KeyEvent event) {
  // TODO Auto-generated method stub
  if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){

      return true;

}

  if (keyCode == KeyEvent.KEYCODE_SEARCH)
    {
     return true;
    }
  return super.onKeyDown(keyCode, event);
}

这方法可用,但是有缺点(你们懂得)。



3、只给相应的Dialog监听setOnKeyListener():

alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
   @Override
   public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event)
   {
   if (keyCode == KeyEvent.KEYCODE_SEARCH)
    {
     return true;
    }
    else
    {
     return false; //默认返回 false
    }
   }
  });

这方法改进了上一个方法的缺点,原理与上边方法一样。
分享到:
评论

相关推荐

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

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

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

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

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

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

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

    在UI线程中调用`show()`方法来显示Dialog,确保不违反Android的UI更新规则——所有的UI操作必须在主线程中进行。然而,如果Dialog的创建过程耗时较长,可能会影响用户体验,这时就需要使用子线程来处理,然后通过...

    Android Dialog全屏显示、动画显示

    Dialog是Android系统提供的一种轻量级窗口,通常用于向用户展示临时信息或进行简单的确认操作。默认的Dialog通常不会填充整个屏幕,而是悬浮于父Activity之上。然而,在某些情况下,我们可能希望Dialog占据整个屏幕...

    Android 控制关闭Dialog

    在Android开发中,Dialog是一种常见的用户交互元素,用于在用户界面中显示临时信息或进行简单的交互操作。通常,当我们使用AlertDialog构建一个对话框时,它的默认行为是在用户点击按钮(如"确定"或"取消")后自动...

    Android自定义显示内容的Dialog

    总结来说,Android自定义显示内容的Dialog可以通过继承Dialog或PopupWindow实现。Dialog提供了基本的对话框功能,而PopupWindow提供了更大的定制空间和灵活性。结合`PopAnim`中的动画效果,我们可以创造出既美观又...

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

    2. 对于Dialog,由于它不是Activity,我们不能直接在Manifest中设置`windowSoftInputMode`。但可以在DialogFragment的`onCreateDialog()`中,通过`getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_...

    Android 底部弹出dialog+动画

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

    Android Dialog中加载GIF

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

    Android自定义dialogDemo

    综上所述,`Android自定义dialogDemo`涵盖了从创建自定义布局、实例化Dialog、设置样式到添加交互逻辑等多个方面,是学习和实践Android Dialog定制的绝佳实例。开发者可以根据这个Demo,结合自己的需求,灵活地打造...

    android自定义dialog下载

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的设计风格和功能需求创建具有独特外观和交互方式的对话框。本文将深入探讨如何在Android中实现自定义Dialog,包括基本概念、步骤和一些实用...

    android 全局dialog 兼容android 8.0

    在Android开发中,全局Dialog是一种常见且实用的设计,它可以在应用程序的任何地方显示,并且不受当前活动的影响。尤其是在实现后台消息推送并需要即时通知用户时,全局Dialog就显得尤为重要。然而,随着Android系统...

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

    在Android中,Dialog通常通过继承`AlertDialog.Builder`或直接使用`AlertDialog`类来创建。在这个例子中,我们可能会创建一个新的类,扩展`AlertDialog`或`DialogFragment`,以便更好地管理和控制Dialog的生命周期。...

    Android Dialog更改样式及显示位置

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

    android自定义dialog嵌套listview

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者创建具有特定布局和功能的对话框,以提供更丰富的用户体验。本篇文章将深入探讨如何在Android中实现一个自定义Dialog并嵌套ListView,同时实现点击事件...

    android 自定义Dialog提示+动画效果

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的UI风格和功能需求进行个性化设计。本文将深入探讨如何实现一个带有动画效果的自定义Dialog,并以"android 自定义Dialog提示+动画效果"为主题...

    自定义Android Dialog EditText 密码输入框

    在Android开发中,自定义Dialog是一项常见的需求,它允许开发者根据应用的UI风格和功能需求进行个性化设计。本文将深入探讨如何自定义一个Android Dialog,特别是实现一个类似于支付密码输入框的功能,其中EditText...

    android dialog基本用法

    在Android开发中,Dialog是一种非常重要的组件,它用于在用户界面中显示临时的、轻量级的窗口,通常用于向用户展示警告、确认信息或提供简单的选择操作。本教程将详细讲解Android Dialog的基本用法,包括创建、...

    Android dialog显示位置

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

Global site tag (gtag.js) - Google Analytics