官方关于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:

+ ?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

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");

    }

}

  

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

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                                                     //<code><a href="http://i.cnblogs.com/reference/android/app/Fragment.html#onCreate(android.os.Bundle)">onCreate(Bundle)</a></code> 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();

    }

    

    

    

    

}

  

时间: 2024-10-05 04:44:14

官方关于Dialog的介绍的相关文章

非自定义和自定义Dialog的介绍!!!

一.非自定义Dialog的几种形式介绍 转自:http://www.kwstu.com/ArticleView/kwstu_20139682354515 前言 对话框对于应用也是必不可少的一个组件,在Android中也不例外,对话框对于一些提示重要信息,或者一些需要用户额外交互的一些内容很有帮 助.本篇博客就讲解一下Android下对话框的使用,在本篇博客中,将了解到对话框的一些常规属性的设置,以及各式的对话框的使用,并都会提供小 Demo来展示所有的效果. Dialog Dialog,对话框,

Dialog类介绍

Dialog类实现为一个简单的漂浮窗口,完全在Activity中创建.使用基本的Dialog类,你可以创建一个新的实例并设定标题和布局,如下所示: Dialog d = new Dialog(MyActivity.this); // Have the new window tint and blur the window it // obscures. Window window = d.getWindow(); window.setFlags(WindowManager.LayoutParam

JQuery中的dialog使用介绍

初始化参数 对于 dialog 来说,首先需要进行初始化,在调用 dialog 函数的时候,如果没有传递参数,或者传递了一个对象,那么就表示在初始化一个对话框. 没有参数,表示按照默认的设置初始化对话框,在当前最新版本的 jQuery UI 1.8.9 中, dialog 支持下列属性. autoOpen   初始化之后,是否立即显示对话框,默认为 true modal        是否模式对话框,默认为 false closeOnEscape   当用户按 Esc 键之后,是否应该关闭对话框

Spring官方文档翻译——15.1 介绍Spring Web MVC框架

Part V. The Web 文档的这一部分介绍了Spring框架对展现层的支持(尤其是基于web的展现层) Spring拥有自己的web框架--Spring Web MVC,在前两章中会有介绍.剩下的章节则用来介绍Spring和其他web技术的集成,比如Struts和JSF(这里只提两个). 本节以对Spring MVC portlet框架的介绍结尾. 第十五章--Web MVC框架(Web MVC framework) 第十六章--视图技术(View technologie) 第十七章--

webstrom官方的活动模版介绍

编辑模板变量对话框 文件|设置|生活模板--编辑变量Windows和LinuxWebStorm |偏好|生活模板--编辑变量在OS XCtrl + Alt + S 当你点击对话框打开 编辑变量按钮模板文本区现场模板页面. 的 编辑变量启用按钮只有在模板的身体包含至少一个用户定义的变量,也就是说,一个变量不同 $END$或$SELECTION$. 使用此对话框创建和编辑表达式中的变量选择的模板. 在这个页面: 控制 预定义的函数使用在生活模板变量 控制 项 描述 的名字 在这个文本框,查看或编辑的

Dubbo系列(2)_RPC介绍

一.本文目的 主要介绍RPC的一些概念和应用. 二.为什么要介绍RPC DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点. 上文黑色部分为官方对Dubbo的介绍,其中关键提到了Dubbo是RPC远程服务调用方案,那么先弄清楚RPC的概念和应用就非常重要了. 三.什么是RPC 1.百度百科:远程过程调用协议,它是一种

Android系统性能调优工具介绍

经作者授权,发表Tieto某青年牛的一篇<程序员>大作. Android系统性能调优工具介绍 在软件开发过程中,想必很多读者都遇到过系统性能问题.而解决系统性能问题的几个主要步骤是: 测评:对系统进行大量有针对性的测试,以得到合适的测试数据. 分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck). 性能优化:对hotspot相关的代码进行优化. 由上述步骤可知,性能优化的目标对象是hotspot.如果找到的hotspot并非真正的热点,则性能优化的结果必然是事倍

Ubuntu 16.04安装Grub Customizer替代Startup-manager(解决找不到menu.lst,GRUB配置简单介绍)

关于GRUB的介绍: http://baike.baidu.com/item/GRUB http://blog.csdn.net/bytxl/article/details/9253713 menu.lst位置: 从10.04开始就已经没有menu.lst文件了.其实编辑这个文件是关于设置启动项的,那么只需要配置GRUB即可. 配置GRUB2引导加载程序设置 16.04系统所使用的却是GRUB2,GRUB2是大多数Linux操作系统的默认启动加载程序.GRUB2代表GRand Unified B

fiddler基本介绍

1.Fiddler如何捕获HTTPS会话 选中checkbox, 弹出如下的对话框,点击"YES" 点击"Yes" 后,就设置好了 2.fiddler的基本界面 Inspectors tab下有很多查看Request或者Response的消息. 其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下图 3.Fiddler的HTTP统计视图 可以在左侧的请求列表中,选中一条或者多条请求,(按ctrl+鼠标左击,可选多条),在此