首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 撸起袖子,自己封装 DialogFragment

DialogFragmentDemos.gif 一、DialogFragment 是什么 DialogFragment 在 Android 3.0 时被引入,是一种特殊的 Fragment,用于在 Activity...onCreateDialog() 中我们返回的 是 mOnCallDialog.getDialog(getActivity);,当我们在传入 Dialog 的时候,便会回调到此处,让 onCreateDialog...() 返回我们传入的 Dialog,对接口回调不是很清楚的朋友,可以看下这篇文章 一个经典例子让你彻彻底底理解java回调机制 接着在 onStart() 中进行了一些特殊性的处理,因为在 5.0 以下的版本...,ProgressDialog 和 DatePickerDialog 会出现白色的边框,这使得用户体验非常不好,所以我们要在此处进行相应的处理 最后便是封装我们的构造函数 newInstance(OnCallDialog...= null){ mCancelListener.onCancel(); } 这便是我们在构造函数中传入 OnCancelListener 的原因,当我们想要做一些取消对话框后的处理时,只要在构造函数中传入

1.4K41

Android开发笔记(二十三)文件对话框FileDialog

日期和时间对话框 对话框是人机交互的有力工具,Android自带了几个常用的对话框,包括AlertDialog提示对话框、ProgressDialog进度对话框、DatePickerDialog日期选择对话框...其中最常用的是AlertDialog,而且需要自定义对话框的时候,多半也是在AlertDialog.Builder基础上集成其他的控件,具体参见《Android开发笔记(六十六)自定义对话框》。...ProgressDialog也比较常用,在系统加载信息或者等待其他事情时,都可能需要显示ProgressDialog。...相比之下,DatePickerDialog和TimePickerDialog用的不多,因为这两个对话框上的文字依赖于系统的语言设置,如果系统默认语言是英文,DatePickerDialog和TimePickerDialog...其次在该实例加入到activity页面时(onAttach方法),设置回调接口,并从getArguments()中取出参数信息。

3.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    android推荐使用dialogFrament而不是alertDialog

    DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。...4、 重写onCreateDialog创建Dialog 在onCreateDialog中一般可以使用AlertDialog或者Dialog创建对话框,不过既然google不推荐直接使用Dialog,我们就使用...重写onCreateDialog方法 package com.example.zhy_dialogfragment;   import android.app.AlertDialog;   import...,把activity强转为我们自定义的接口:LoginInputListener,然后将用户输入的数据返回。...左边为模拟器,右边为我的手机~~~~~ 7、屏幕旋转 当用户输入帐号密码时,忽然旋转了一下屏幕,帐号密码不见了~~~是不是会抓狂 传统的new AlertDialog在屏幕旋转时,第一不会保存用户输入的值

    2.4K50

    Android 必知必会 - DialogFragment 使用总结

    如果移动端访问不佳,请访问 ==> Github 版 背景 Android 官方推荐使用 DialogFragment 来代替 Dialog ,可以让它具有更高的可复用性(降低耦合)和更好的便利性...应用 基本用法 对于方法 ①,创建一个 Dialog 并返回它即可: @Override public Dialog onCreateDialog(Bundle savedInstanceState)...扩展阅读:Dialog 在屏幕翻转时的处理 无标题栏/全屏 在基本用法里代码注释有设置主题的地方,下面详细说下两种方法下设置无标题栏和实现全屏的方式: 无标题栏 对于方法 ① : @Override public...DialogFragment ,代码 19 行就会报空指针异常了,代码 17 的作用就是判断 DialogFragment 当前的状态是否为可用态,但是 isVisible() 以及 isHide() 对于方法 ① 无法正确返回其状态...Android PS:你可以通过下面的方式和我联系 微博:cafeting Github: likfe CSDN:他叫自己Mr.张

    4.3K31

    Linux+Windows: 程序崩溃时,在 C++ 代码中,如何获取函数调用栈信息

    一、前言 二、Linux 平台 三、Windwos 平台 一、前言 程序在执行过程中 crash 是非常严重的问题,一般都应该在测试阶段排除掉这些问题,但是总会有漏网之鱼被带到 release 阶段。...因此,程序的日志系统需要侦测这种情况,在代码崩溃的时候获取函数调用栈信息,为 debug 提供有效的信息。...这篇文章的理论知识很少,直接分享 2 段代码:在 Linux 和 Windows 这 2 个平台上,如何用 C++ 来捕获函数调用栈里的信息。 二、Linux 平台 1....free(symbols); oss << std::endl; std::cout << oss.str(); // 打印函数调用栈信息 } 三、Windwos 平台 在...利用以上几个神器,基本上可以获取到程序崩溃时的函数调用栈信息,定位问题,有如神助! ----

    5.9K20

    速读原著-Android应用开发入门教程(弹出对话框)

    6.6 弹出对话框 在 GUI 程序中,有时需要弹出对话框来提示一些信息。这些对话框比一个独立的屏幕简单,在 Android 中弹出式对话框不同于表示一个屏幕的活动,它通常用于简单的功能处理。...实现方法是继承 onCreateDialog()函数,返回一个 Dialog 类型: @Override protected Dialog onCreateDialog(int id) { }...以上函数的返回类型均为 android.app.AlertDialog.Builder,也就是这个类本身,因此可以使用如下的方式进行连续调用来设置更多的内容。...设置完成后调用 create()函数返回 android.app.AlertDialog 类,这个类表示一个可以使用的对话框。...在 Android 中使用对话框,可以在没有 Activity 的情况下建立一个比较简易的窗体,基本界面可以通过直接设置得到,通过 setView()可以获得任意内容的界面。

    1.4K20

    速读原著-Android应用开发入门教程(弹出对话框)

    6.6 弹出对话框 在 GUI 程序中,有时需要弹出对话框来提示一些信息。这些对话框比一个独立的屏幕简单,在 Android 中弹出式对话框不同于表示一个屏幕的活动,它通常用于简单的功能处理。...实现方法是继承 onCreateDialog()函数,返回一个 Dialog 类型: @Override protected Dialog onCreateDialog(int id) { }...以上函数的返回类型均为 android.app.AlertDialog.Builder,也就是这个类本身,因此可以使用如下的方式进行连续调用来设置更多的内容。...设置完成后调用 create()函数返回 android.app.AlertDialog 类,这个类表示一个可以使用的对话框。...在 Android 中使用对话框,可以在没有 Activity 的情况下建立一个比较简易的窗体,基本界面可以通过直接设置得到,通过 setView()可以获得任意内容的界面。

    1.5K10

    Android 录音功能直接拿去用

    好的,敲黑板,重点来了,其实这个对话框的重点部分就是在 onCreateDialog()中,我们先加载了我们自定义的对话框的布局,当点击录音的按钮的时候,先进行相关权限的申请,这里有个巨坑,录音权限 android.permission.RECORD_AUDIO...在不久前还是普通权限的,不知道什么时候突然变成了危险权限,需要我们进行申请,Google 真是会玩。...public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog = super.onCreateDialog...在启动时还顺便开始了 mChronometer 的计时显示,这是一个 Android 原生的显示计时的一个控件。...一起来看看知乎开源的图片选择库 Android 能让你少走弯路的干货整理 Android 撸起袖子,自己封装 DialogFragment 手把手教你从零开始做一个好看的 APP

    3.1K31

    信息提醒之对话框(AlertDialog + ProgressDialog)-更新中

    由于存在“确定”按钮的单击事件中需要引用AlertDialog变量,因此先使用create方法返回AlertDialog对象,然后在单击事件中使用该变量 ---- 进度对话框 查看大拿的总结 进度对话框通过...消息代码可以是任意int类型的值 虽然ProgressDialog.getProgress可以获取当前进度,但是只有在水平进度条风格的对话框中才有效,如果是圆形进度条,该方法返回永远是0 。...圆形进度条对话框的进度圆圈只是一个普通的动画,并没有任何表示进度的功能,这种对话框一般在很难估计准确的时间和进度时使用 ---- 登录对话框,自定义布局 -setView 我们可以直接使用布局文件或者代码创建视图对象...在Activity类中有一个onCreateDialog方法。...定义如下 protected Dialog onCreateDialog(int id) 当调用Activity.showDialog方法时,系统会调用onCreateDialog方法来返回一个Dialog

    4.5K10
    领券