官方关于Dialog的介绍
将Activity显示成Dialog的形式:
Tip: If you want a custom dialog, you can instead display an Activity as a dialog instead of using the Dialog APIs. Simply create an activity and set its theme to Theme.Holo.Dialog in the <activity> manifest element:
<activityandroid:theme="@android:style/Theme.Holo.Dialog">
That's it. The activity now displays in a dialog window instead of fullscreen.
将dialog的按钮点击事件传递给Activity:
package leihu.dialogtoactivity; import android.annotation.SuppressLint;
import android.app.DialogFragment;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity; public class MainActivity extends FragmentActivity implements NoticeDialogFragment.NoticeDialogListener{ @Override
protected void onCreate(Bundle savedInstaceState) {
super.onCreate(savedInstaceState);
setContentView(R.layout.activity_main);
showNoticeDialog();
} @SuppressLint("NewApi")
public void showNoticeDialog(){
DialogFragment dialog = new NoticeDialogFragment();
dialog.show(getFragmentManager(), "NoticeDialogFragment"); } @Override
public void onDialogPositiveClick(DialogFragment dialog) {
// TODO Auto-generated method stub
System.out.println( "Positive button is pressed");
} @Override
public void onDialogNegativeClick(DialogFragment dialog) {
// TODO Auto-generated method stub
System.out.println("Negative button is pressed");
} }
package leihu.dialogtoactivity; import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle; @SuppressLint("NewApi")
public class NoticeDialogFragment extends DialogFragment{ public interface NoticeDialogListener{
public void onDialogPositiveClick(DialogFragment dialog);
@SuppressLint("NewApi")
public void onDialogNegativeClick(DialogFragment dialog);
} NoticeDialogListener mListener; @SuppressLint("NewApi")
@Override
public void onAttach(Activity activity) { //Called when a fragment is first attached to its activity //onCreate(Bundle)will be called after this.
super.onAttach(activity);
try {
mListener = (NoticeDialogListener) activity;
} catch (Exception e) {
throw new ClassCastException(activity.toString()
+ " must implement NoticeDialogListener");
}
} @SuppressLint("NewApi")
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("fire missiles")
.setPositiveButton("frie", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
mListener.onDialogPositiveClick(NoticeDialogFragment.this);
}
})
.setNegativeButton("cancel", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
mListener.onDialogNegativeClick(NoticeDialogFragment.this);
}
});
return builder.create();
} }
官方关于Dialog的介绍的更多相关文章
- 非自定义和自定义Dialog的介绍!!!
一.非自定义Dialog的几种形式介绍 转自:http://www.kwstu.com/ArticleView/kwstu_20139682354515 前言 对话框对于应用也是必不可少的一个组件,在 ...
- ngRx 官方示例分析 - 1. 介绍
ngRx 的官方示例演示了在具体的场景中,如何使用 ngRx 管理应用的状态. 示例介绍 示例允许用户通过查询 google 的 book API 来查询图书,并保存自己的精选书籍列表. 菜单有两 ...
- JQuery中的dialog使用介绍
初始化参数 对于 dialog 来说,首先需要进行初始化,在调用 dialog 函数的时候,如果没有传递参数,或者传递了一个对象,那么就表示在初始化一个对话框. 没有参数,表示按照默认的设置初始化对话 ...
- Dialog类介绍
Dialog类实现为一个简单的漂浮窗口,完全在Activity中创建.使用基本的Dialog类,你可以创建一个新的实例并设定标题和布局,如下所示: Dialog d = new Dialog(MyAc ...
- spring-data-solr官方学习文档介绍
spring-data-solr文档介绍如下: 通过http://www.springframework.org/schema/data/solr/spring-solr-1.0.xsd(spring ...
- ABP官方文档翻译 1.1 介绍
介绍 介绍 快速示例 其他 启动模板 如何使用 介绍 我们通常会根据不同的需求来创建不同的应用程序.但是对于一些通用相似的结构总是一遍又一遍的实现,至少在某种程度上是这样的.常见的通用模块如授权.验证 ...
- Spring官方文档翻译——15.1 介绍Spring Web MVC框架
Part V. The Web 文档的这一部分介绍了Spring框架对展现层的支持(尤其是基于web的展现层) Spring拥有自己的web框架--Spring Web MVC.在前两章中会有介绍. ...
- JIRA官方:JIRA亮点介绍
操作超级简单 简单不意味着要以牺牲功能作为代价.JIRA提供了友好.直观的可配置的Web界面,并支持大量的快捷键操作. 跟踪任何事务 跟踪问题.任务.需求,当然还有软件缺陷.定义你自己的事务类型来使之 ...
- webstrom官方的活动模版介绍
编辑模板变量对话框 文件|设置|生活模板--编辑变量Windows和LinuxWebStorm |偏好|生活模板--编辑变量在OS XCtrl + Alt + S 当你点击对话框打开 编辑变量按钮模板 ...
随机推荐
- 设计模式课程 设计模式精讲 3-7 接口隔离原则讲解及Coding
1 主讲内容 1.1 核心内容 1.2 优点 1.3 课程记录 2 代码演练 2.1 接口隔离原则反比 2.2 接口隔离原则正比 1 主讲内容 1.1 核心内容 总结:细粒度可以进行再组装,粗粒度不可 ...
- C/C++网络编程7——多进程服务器端之fork函数
通过前面几节的内容,我们已经可以实现基本的C/S结构的程序了,但是当多个客户端同时向服务器端请求服务时,服务器端只能按顺序一个一个的服务,这种情况下,客户端的用户是无法忍受的.所以虚实现并发的服务器端 ...
- js 字符串相关函数
https://www.jb51.net/article/74614.htm
- ANSYS-MFC生成APDL
目录 1. 简介 2. APDL生成 3. 调用ANSYS批处理 1. 简介 对于ANSYS-MFC二次开发,两者之间的关系非常明确,从界面中读取参数并转换成APDL语言,然后调用批处理操作. 对于简 ...
- FCN训练注意事项
1.如果是类别受两类,需要把标签图二值化为0,1
- 一起探讨Go 语言为什么能成功?
导读 两位创造者Rob Pike和Robert Griesemer一起探讨了Go成功的原因. 常言道,历史不会重演,但总会惊人的相似. 如果您想创建一种编程语言,多向那些有经验的人士学习,他们有很多可 ...
- 常用的sql指令
一,关于数据库中表的一些介绍 1,表的每一行表示关系的一个元组,又称记录: 2,表的每一列表示关系的一个字段,又称属性(例如:id.name.password........): 3, 表结构:表的 ...
- jdbc学习over
这次的代码和之前学习到一般的代码主要就是将一些很常见的操作(建立连接.清除连接)不管做什么操作都需要用到它们,所以将它们单独放到另一个工具类里面去. 用到的术语: 1.事务:https://www.c ...
- 对iOS开发的一些认识
从事iOS工作这么久了,我觉得对它的认识也越来越深刻.尤其是越发明白自己从事的工作属于“客户端开发”.“软件工程”分类中. 我更喜欢“客户端开发”这个词语,相对“前端开发”而言.因为前者更能充分说明面 ...
- Melodic 使用URDF创建简单的机器人模型
本人Linux版本:Ubuntu 18.04LTS ROS版本:Melodic URDF代码 <?xml version="1.0" ?> <robot name ...