android学习九 对话框碎片

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 将碎片对话框扩充到这个容器上。

时间: 2024-08-04 14:42:58

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

android学习笔记 对话框合集

package com.zhangbz.dialog; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClick

android学习八 多用途碎片

碎片设计初衷:帮助开发人员管理应用程序功能. 特点:1.大量重用 2.可用性强 3.适应多种布局 碎片 1.包含一个视图层次结构和具有相应的生命周期 2.碎片必须在一个活动的上下文中工作 3.碎片的生命周期和活动很相似 4.但在状态的保存与恢复上与活动有区别 碎片的优点: a.在布局管理的时候可以直接作用于布局本身,而不必理会碎片内部 b.碎片的状态容易保存和恢复 c.可以将碎片添加到后退栈,实现在活动内按back键回退到上一个碎片 d.碎片的切换可以有多种特效 碎片的结构 a.碎片的基类继承自

Android学习九:屏幕自适应

android中不同手机分辨率适配问题 在项目开发的过程中,同一个布局对应不同的手机会显示出不同的效果.导致这个现象产生的原因是不同手机的分辨率不同.在android sdk提供的帮助文档中,我们可以看到各种手机的分辨率和对应的屏大小.QVGA (240x320),WQVGA400(240x400),WQVGA432 (240x432),HVGA (320x480),WVGA800 (480x800),WVGA854 (480x854). 目前android手机的分辨率大致就是帮助文档中描述的几

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

不管是在识别,配准等应用中,提取图像的特征都是很关键的一环,提取特征是先找出图像的关键点(如角点,边缘点等),然后用描述子来描述这些点,最后整幅图像就可以表示成一个特征向量,特征向量就可以利用在后续识别中. 这个流程在matlab,opencv中都有相应的函数来实现,matlab封装性好,比较简单,只要输入图像和参数,调用函数就能够得到特征,而opencv就稍微复杂点,我们先通过opencv的c++程序来了解这个过程(资料比较好找点),接着通过阅读opencv4android文档来了解提供的AP

android学习九(android的广播)

在这里 篇文章里面我将总结广播接收器(Broadcast Receiver)方面的知识.首先我们来了解下andorid中广播的类型,android中的广播可以分为2种,标准广播和有序广播. 标准广播:是一种完全异步执行的广播,在广播发出后,所有广播接收器几乎都会同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序可言.这种广播的效率比较高,但同时也意味着它无法被截断的. 有序广播:则是一种同步机制的广播,在广播发出之后,同一时刻只会有一个广播接收器能够接收到这条广播信息,当这个广播接收器中逻

Android学习笔记(九)——更复杂的进度对话框

显示操作进度的对话框 1.使用上一篇创建的同一项目,在activity_main.xml文件中添加一个Button: <Button android:id="@+id/btn_dialog3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="onClick3" android:text=&qu

Android学习(十九)Dialog对话框

一.什么是Dialog对话框 对话框是当前页面中弹出的一个小窗口,用于显示重要的提示信息,提示用户输入信息,确认信息,或者显示某种状态,如下载进度,退出提示等等.用户需要与对话框进行交互,才能回到原窗口继续执行. 二.几种常见的对话框 1.确认对话框. 2.单选按钮对话框. 3.多选按钮对话框. 4.列表对话框. 5.自定义对话框. 三.Dialog的常用方法 1. AlertDialog.Builder中的create()方法,创建一个dialog. 2.setTitle(),设置标题 3.s

Android学习笔记二十九之SwipeRefreshLayout、RecyclerView和CardView

Android学习笔记二十九之SwipeRefreshLayout.RecyclerView和CardView 前面我们介绍了AlertDialog和几个常用的Dialog,ProgressDialog进度条提示框.DatePickerDialog日期选择对话框和TimePickerDialog时间选择对话框.这一节我们介绍几个新的API控件SwipeRefreshLayout.RecyclerView和CardView,这几个API控件都是google在Android5.0推出的.下面我们来学

Android学习路线(十九)支持不同设备——支持不同(Android)平台版本

当最新的Android版本为你的应用提供着很棒的APIs时,你却要在更多的设备更新之前继续支持老的系统版本.这篇课程如何在继续支持低版本的系统的情况下使用新版本的高级API. Platform Versions 仪表板展示了最新的活跃设备上运行的Android系统版本的分布,基于设备访问Google Play商店的次数.通常情况下,支持90%的活跃设备同时使用最新版本作为target是一个好习惯. 贴士: 为了在不同的Android版本上提供最好的特性和功能,你应该在你的应用中使用Android