1.android的对话框是异步的,对话框创建后马上执行下面的代码。好处:

 
   a.通过实现对话框的回调方法反馈用户与对话框的交互。
   b.能够在代码中清楚对话框。
   
2.碎片对话框基类DialogFragment继承自Fragment。显示对话框的3个步骤
   2.1创建一个对话框碎片实例
   2.2获取碎片事务
   2.3使用对话框碎片实例的show方法显示,show方法有两个版本,第一个版本接收FragmentManager参数,第二个版本接收FragmentTrancstion参数。 第二个版本可以有机会将碎片事务加到回退栈。第一个版本更加便捷。
 
3.有两个方法返回对话框碎片的视图结构,onCreateView和onCreateDialog。onCreateDialog返回一个对话框对象,对话框对象可以通过老风格的AlertDialog.Builder来创建。
 
4.清除对话框碎片也有两种方法 dismiss()和显示另一个对话框。
   4.1对于dismiss(),会从碎片管理器中清除,会从返回栈中清除(如果有的话),会触发回调函数onDissmiss()执行。但是不能用onDismiss来确定是用户按键关闭对话框的,应该用onCancel,这个回调方法,会在用户按“返回”按钮时执行。
   4.2 对于第二种方法,代码示例如下:
         if (someview.getId() == R.id.btn_invoke_another_dialog) 

{

Activity act = getActivity();

FragmentManager fm = act.getFragmentManager();

FragmentTransaction ft = fm.beginTransaction();

ft.remove(this); //删除当前碎片

ft.addToBackStack(null);  //可选,将当前碎片事务以匿名的方式保存到返回栈,如果从新碎片返回将再次显示

//null represents no name for the back stack transaction

HelpDialogFragment hdf =

HelpDialogFragment.newInstance(R.string.helptext);

hdf.show(ft, "HELP");

return;

}

5.对话框碎片与活动之间的通信

 
    5.1活动实现接口
    5.2对话框碎片调用绑定活动的接口反馈信息。
 
6.嵌入式对话框
   6.1 在布局中增加容器
   6.2 将碎片对话框扩充到这个容器上。

   

android学习九 对话框碎片的更多相关文章

  1. android学习笔记 对话框合集

    package com.zhangbz.dialog; import android.app.Activity; import android.app.AlertDialog; import andr ...

  2. Android学习-各种对话框

    在android的编程中,对话框的用处是非常多的,然而,有时对对话框的需求也是不一样的,那么现在,就总结对话框的种类,以及事件的处理形势. 1.简单的对话框 public void showDialo ...

  3. android学习八 多用途碎片

    碎片设计初衷:帮助开发人员管理应用程序功能. 特点:1.大量重用           2.可用性强           3.适应多种布局            碎片 1.包含一个视图层次结构和具有相应 ...

  4. Android学习九:屏幕自适应

    android中不同手机分辨率适配问题 在项目开发的过程中,同一个布局对应不同的手机会显示出不同的效果.导致这个现象产生的原因是不同手机的分辨率不同.在android sdk提供的帮助文档中,我们可以 ...

  5. Android学习九---OpenCV4android org.opencv.feature2d

    不管是在识别,配准等应用中,提取图像的特征都是很关键的一环,提取特征是先找出图像的关键点(如角点,边缘点等),然后用描述子来描述这些点,最后整幅图像就可以表示成一个特征向量,特征向量就可以利用在后续识 ...

  6. android 学习随笔十九(对话框、样式、主题、国际化 )

    1.对话框 package com.itheima.dialog; import android.os.Bundle; import android.app.Activity; import andr ...

  7. Android学习(十九)Dialog对话框

    一.什么是Dialog对话框 对话框是当前页面中弹出的一个小窗口,用于显示重要的提示信息,提示用户输入信息,确认信息,或者显示某种状态,如下载进度,退出提示等等.用户需要与对话框进行交互,才能回到原窗 ...

  8. 九、Android学习第八天——广播机制与WIFI网络操作(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 九.Android学习第八天——广播机制与WIFI网络操作 今天熟悉了An ...

  9. 9.Android之日期对话框DatePicker控件学习

    设置日期对话框在手机经常用到,今天来学习下. 首先设置好布局文件:如图 xml对应代码 <?xml version="1.0" encoding="utf-8&qu ...

随机推荐

  1. MyBatis框架(6)动态sql

    本次全部学习内容:MyBatisLearning   什么是动态sql:     mybatis的核心,对sql进行灵活的操作,通过对表达式的判断,对sql灵活的拼接 在之前小案例的基础上我们先进行简 ...

  2. 关于Git提交规范

    自古至今,无规矩不成方圆. Git提交也有其规范,业内做的比较好的,比较具有参考价值的就是Angular的提交. Angular提交规范: <type>(<scope>): & ...

  3. Sonar安装和常见问题解决

    Sonar是一款代码质量分析工具,有助于帮助代码质量提高. Sonar的官网地址为:https://www.sonarqube.org/downloads/ 点击 Show All Versions ...

  4. 用DecimalFormat格式化十进制数字的实际应用

    在项目中,有时候我们需要将数字转换成特定的格式便于操作和使用.最常用的就是在操作价格数字的时候,需要将数字转换成小数点后保留两位小数,比如讲3.4转换成3.40 我们可以用DecimalFormat, ...

  5. 如果js设置移动端有两种方式 大家可以参考

    //使用em单位 var scaleObj = { documentEle : document.documentElement, deviceWidth : document.documentEle ...

  6. Many-to-many relationships in EF Core 2.0 – Part 4: A more general abstraction

    In the last few posts we saw how to hide use of the join entity from two entities with a many-to-man ...

  7. HTML&CSS笔记001

    lesson1 <!DOCTYPE html><html lang="en,zh"><!-- 告诉搜索引擎爬虫,我们的网站是关于什么内容的 --> ...

  8. oracle中的事务

     事务 概述:通过sql 对数据库进行操作时,同时执行成功或失败,且数据完整性一致. 链接到oracle的用户(例如plsql或sqlplus)会形成一个session, 此时对数据库的更新操作,不会 ...

  9. iOS11、iPhone X、Xcode9 适配指南

    更新iOS11后,发现有些地方需要做适配,整理后按照优先级分为以下三类: 1.单纯升级iOS11后造成的变化: 2.Xcode9 打包后造成的变化: 3.iPhoneX的适配 一.单纯升级iOS11后 ...

  10. YouCompleteMe

    需要配套的.vimrc :sw:.h与.cpp切换 Issue:YouCompleteMe unavailable no module named future cd .vim/Vundle/YouC ...