`
qq986945193
  • 浏览: 92376 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

常用的android弹出对话框 几乎包含了所有(1)

 
阅读更多

我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框。当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必要的复杂性,对于这种情形的对话框有没有更优雅的解决方案呢?
幸运的是,android提供了这种问题的解决方案,刚开始接触android的时候,我在做一个自定义对话框的时候,也是通过继承的方式来实现,后来随着对文档了解的深入,发现了android起始已经提供了相应的接口Dialog Builder ,下面我就吧相关的内容在这里分享一下,也能让更多的初学者少走弯路。

首先是一个最简单的应用,就是弹出一个消息框,在android中可以这样实现


  1. 1
  2. newAlertDialog.Builder(self)
  3. 2
  4. .setTitle("标题")
  5. 3
  6. .setMessage("简单消息框")
  7. 4
  8. .setPositiveButton("确定",null)
  9. 5
  10. .show();


效果如下:

1.png


上面的代码中我们新建了一个AlertDialog,并用Builder方法形成了一个对象链,通过一系列的设置方法,构造出我们需要的对话框,然后调用show方法显示出来,注意到Builder方法的参数 self,这个其实是Activity对象的引用,根据你所处的上下文来传入相应的引用就可以了。例如在onCreate方法中调用,只需传入this即可。


下面是带确认和取消按钮的对话框

    1. newAlertDialog.Builder(self)
    2. .setTitle("确认")
    3. .setMessage("确定吗?")
    4. .setPositiveButton("是",null)
    5. .setNegativeButton("否",null)
    6. .show();
复制代码


2.png

注意到,这里有两个null参数,这里要放的其实是这两个按钮点击的监听程序,由于我们这里不需要监听这些动作,所以传入null值简单忽略掉,但是实际开发的时候一般都是需要传入监听器的,用来响应用户的操作。

下面是一个可以输入文本的对话框

    1. newAlertDialog.Builder(self)
    2. .setTitle("请输入")
    3. .setIcon(android.R.drawable.ic_dialog_info)
    4. .setView(newEditText(self))
    5. .setPositiveButton("确定",null)
    6. .setNegativeButton("取消",null)
    7. .show();



3.png

如上代码,我们用setView方法,为我们的对话框传入了一个文本编辑框,当然,你可以传入任何的视图对象,比如图片框,WebView等。。尽情发挥你的想象力吧~:lol

下面是单选框与多选框,也是非常有用的两种对话框

    1. newAlertDialog.Builder(self)
    2. .setTitle("请选择")
    3. .setIcon(android.R.drawable.ic_dialog_info)
    4. .setSingleChoiceItems(newString[]{"选项1","选项2","选项3","选项4"},0,
    5. newDialogInterface.OnClickListener(){
    6. publicvoidonClick(DialogInterfacedialog,intwhich){
    7. dialog.dismiss();
    8. }
    9. }
    10. )
    11. .setNegativeButton("取消",null)
    12. .show();


4.png


    1. newAlertDialog.Builder(self)
    2. .setTitle("多选框")
    3. .setMultiChoiceItems(newString[]{"选项1","选项2","选项3","选项4"},null,null)
    4. .setPositiveButton("确定",null)
    5. .setNegativeButton("取消",null)
    6. .show();



多选对话框

单选和多选对话框应该是我们平时用的非常多的,代码应该很好理解,下面再最后介绍两个、

列表对话框

    1. newAlertDialog.Builder(self)
    2. .setTitle("列表框")
    3. .setItems(newString[]{"列表项1","列表项2","列表项3"},null)
    4. .setNegativeButton("确定",null)
    5. .show();



6.png


最后,在对话框中显示图片

    1. ImageViewimg=newImageView(self);
    2. img.setImageResource(R.drawable.icon);
    3. newAlertDialog.Builder(self)
    4. .setTitle("图片框")
    5. .setView(img)
    6. .setPositiveButton("确定",null)
    7. .show();


7.png

我们传入了一个ImageView来显示图片,这里显示了一个经典的android小绿人图标~ ~,当然这里还可以放上网络图片,具体的实现方法就不介绍了,留给大家来练习吧~:lol

最后总结一下,android平台为我们开发提供了极大的便利,DialogBuilder能做的不止这些,这里给大家展示的只是冰山一角,我们可以尽情的发挥想象,创造我们自己的对话框。

分享到:
评论

相关推荐

    Android弹出对话框

    在给定的标题“Android弹出对话框”中,我们可以理解这是关于如何在Android环境中创建和使用对话框的教程。描述提到的“完整的代码”涵盖了多选、单选和登录验证等不同类型的对话框功能,这将涉及到Android SDK中的...

    Android底部弹出对话框

    "Android底部弹出对话框"是一个常见的交互模式,通常用于展示附加信息或者提供操作选项。本项目着重讲解如何在Android应用程序中实现这种功能。 首先,我们从样式(styles.xml)文件入手。在Android中,我们可以...

    Android使用Activity用作弹出式对话框

    为了使`Activity`像弹出对话框一样显示,我们需要设置合适的窗口属性。在`PopupActivity`的`onCreate()`方法中添加以下代码: ```java getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND, ...

    Android管理信息系统: 包括SQLite 数据库的增删改查,ListView的刷新,弹出对话框提示操作 ListView列表的优化

    Android管理信息系统: 包括SQLite 数据库的增删改查,ListView的刷新,弹出对话框提示操作 ListView列表的优化 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间...

    详解Android 全局弹出对话框SYSTEM_ALERT_WINDOW权限

    在Android开发中,全局弹出对话框是一种常见需求,特别是在某些特定场景下,如通知用户、请求确认或显示重要信息。然而,为了实现全局对话框,开发者需要掌握一种特殊的权限,即`SYSTEM_ALERT_WINDOW`权限。这个权限...

    8种常用Android的对话框示例

    本文将详细介绍标题中提到的8种常用Android对话框,并提供相关的编程知识点。 1. **简单对话框(AlertDialog)** AlertDialog是最基础的对话框类型,它包含一个标题、一个消息和一个或多个按钮。可以通过`...

    列表长按,弹出对话框按钮

    在Android应用开发中,"列表长按,弹出对话框按钮"是一个常见的交互设计,它提高了用户对数据操作的便捷性。在这个场景中,当用户在列表视图中长按某一项时,会触发一个对话框,对话框内通常包含一系列可供选择的...

    弹出对话框

    在React Native开发中,弹出对话框是一种常用的交互方式,用于向用户展示警告、确认信息或者获取用户输入等。在Android平台上,由于React Native的跨平台特性,它提供了与原生对话框相似的功能,使应用在不同设备上...

    Android自定义弹出对话框

    在Android开发中,自定义弹出对话框是创建用户交互界面的一种常见方法,它能够提供比系统默认对话框更多的灵活性和个性化设计。本教程将深入探讨如何在Android中实现自定义对话框,包括布局设计、类创建以及显示...

    android 防 ios 和qq弹出对话框

    在Android应用开发中,有时我们不希望第三方应用如iOS或QQ等在我们的应用运行时弹出对话框,干扰用户体验。这个“android防ios和qq弹出对话框”工具类就是为了应对这种需求而设计的。它提供了防止外部对话框突然出现...

    自定义弹出对话框

    在Android开发中,自定义对话框是一种常见的需求,它能够为用户提供更加个性化和丰富的交互体验。自定义对话框不仅能够突破系统默认对话框的样式限制,还能更好地与应用的UI风格融合,提升整体的用户体验。本篇将...

    android service弹出对话框

    总结来说,要在Android Service中弹出对话框,需要创建一个兼容Service的Context,使用新线程或Handler来显示Dialog,并根据Service的生命周期进行适当的管理。对于复杂的需求,可以考虑使用DialogFragment。同时,...

    Android 通过NavigationView+DrawerLayout来实现侧滑菜单的功能和点击事件+弹出对话框

    在处理点击事件时,可以使用`OnNavigationItemSelectedListener`监听用户的选择,并根据需求弹出对话框或执行其他操作。这些组件和方法构成了Android开发中实现侧滑菜单的基本框架,为用户提供了一种直观的导航方式...

    基于RecyclerView实现的仿微信聊天界面,item长按根据触摸位置弹出对话框

    本项目以"基于RecyclerView实现的仿微信聊天界面,item长按根据触摸位置弹出对话框"为主题,旨在帮助开发者了解如何利用RecyclerView构建类似微信的聊天体验,并实现长按菜单功能。 首先,我们需要理解RecyclerView...

    点击按钮弹出对话框...........

    在软件开发中,点击按钮弹出对话框是一种常见的交互方式,用于向用户展示信息、获取输入或进行确认操作。对话框通常分为模态和非模态两种类型,模态对话框会阻塞用户对主窗口的操作,直到对话框关闭;而非模态对话框...

    Android屏幕底部弹出对话框

    `BottomSheetDialogFragment`是Android Support Library中的一个组件,它可以方便地集成到项目中,提供基本的底部弹出对话框功能。而自定义布局则允许开发者根据需求定制对话框的样式和内容。 以下是使用`...

    Delphi XE5 Android Dialogs 对话框

    《Delphi XE5在Android平台上构建对话框的探索》 在移动开发领域,Delphi XE5作为一款强大的跨平台开发工具,以其高效的代码生成和丰富的组件库,深受开发者喜爱。尤其在针对Android平台的应用开发中,对话框...

    卓开发:弹出自定义对话框自动播放视频(仿视频广告效果,使用mediaplayer和surfaceview做播放器)

    在布局文件中,包含SurfaceView,并在弹出对话框时设置MediaPlayer的播放。 ```java AlertDialog.Builder builder = new AlertDialog.Builder(context); LayoutInflater inflater = LayoutInflater.from(context); ...

    在对话框中点击按钮弹出另外一个对话框

    同时,为了提高用户体验,应确保新弹出的对话框与原有对话框之间的逻辑关系清晰,避免频繁弹出对话框导致用户困扰。对话框的设计和使用是GUI编程中重要的一环,正确运用可以大大提高软件的易用性和用户满意度。

    Android 仿IOS对话框

    在实际使用时,只需调用`DialogUtils.createIosStyleDialog()`,即可轻松弹出一个仿iOS风格的对话框。这样既保持了代码的整洁,又提高了开发效率。 总的来说,仿iOS对话框的实现涉及到Android的自定义主题、布局...

Global site tag (gtag.js) - Google Analytics