精华内容
下载资源
问答
  • AlertDialog的位置固定,而PopupWindow的位置可以随意 AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的 PopupWindow的位置按照有无偏移分,可以分为偏移和无偏移两种;按照参照 Android的对话框有...

    摘要 Android的对话框有两种:PopupWindow和AlertDialog。它们的不同点在于: AlertDialog的位置固定,而PopupWindow的位置可以随意 AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的 PopupWindow的位置按照有无偏移分,可以分为偏移和无偏移两种;按照参照


    Android的对话框有两种:PopupWindow和AlertDialog。它们的不同点在于:

    • AlertDialog的位置固定,而PopupWindow的位置可以随意

    • AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的

    PopupWindow的位置按照有无偏移分,可以分为偏移和无偏移两种;按照参照物的不同,可以分为相对于某个控件(Anchor锚)和相对于父控件。具体如下

    • showAsDropDown(View anchor):相对某个控件的位置(正左下方),无偏移

    • showAsDropDown(View anchor, int xoff, int yoff):相对某个控件的位置,有偏移

    • showAtLocation(View parent, int gravity, int x, int y):相对于父控件的位置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),可以设置偏移或无偏移


    展开全文
  • android中的对话框主要分为:一般对话框,单选对话框,多选对话框,进度条对话框,自定义对话框;一般对话框:简要代码分析如下:AlertDialog.Builder builder = new Builder(Main.this);//此处必须用this,在弹出的...

    android中的对话框主要分为:一般对话框,单选对话框,多选对话框,进度条对话框,自定义对话框;

    一般对话框:

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    简要代码分析如下:

    AlertDialog.Builder builder = new Builder(Main.this);//此处必须用this,在弹出的对话框中必须用this,否则会报错。

    this与getApplicationcontext()的区别:this直接继承context,而后者直接返回对象context;这样this是个子类共能很强大;

    而后者是个父类。

    03   builder.setMessage("确认退出吗?");

    04   builder.setTitle("提示");

    05   builder.setPositiveButton("确认", new OnClickListener() {

    06   @Override

    07   public void onClick(DialogInterface dialog, int which) {

    08   dialog.dismiss();

    09   Main.this.finish();

    10   }

    11   });

    12   builder.setNegativeButton("取消", new OnClickListener() {

    13   @Override

    14   public void onClick(DialogInterface dialog, int which) {

    15   dialog.dismiss();

    16   }

    17   });

    18   builder.create().show();最后一定要show出来;

    19   }

    单选对话框:

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    简要代码分析如下:

    1 new AlertDialog.Builder(this).setTitle("单选框").setIcon(

    2   android.R.drawable.ic_dialog_info).setSingleChoiceItems(//单选对话框的重要方法

    3   new String[] { "Item1", "Item2" }, 0,

    4   new DialogInterface.OnClickListener() {

    5   public void onClick(DialogInterface dialog, int which) {

    6   dialog.dismiss();

    7   }

    8   }).setNegativeButton("取消", null).show();

    多选对话框:

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    简要代码分析如下:

    1new AlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems(//多选对话框的方法

    2   new String[] { "Item1", "Item2" }, null, null)//表示两个默认的没有被选中

    3   .setPositiveButton("确定", null)

    4   .setNegativeButton("取消", null).show();

    进度条对话框:

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    在Android中有一类叫做ProgressDialog,允许创建进度条。为了做到这一点,需要实例化这个类的一个对象。其语法如下:

    ProgressDialog progress = new ProgressDialog(this); //只要是表示进度的android中都允许在子线程中更新ui;

    现在,可以设置此对话框的某些属性。比如,它的风格,文本等

    progress.setMessage("Downloading Music :) ");

    progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

    progress.setIndeterminate(true);Sr. NO标题与描述

    1getMax()

    此方法返回进度的最大值

    2incrementProgressBy(int diff)

    此方法增加了进度条由值作为参数传递的区别

    3setIndeterminate(boolean indeterminate)

    此方法设置进度指示确定或不确定

    4setMax(int max)

    此方法设置进度对话框的最大值

    5setProgress(int value)

    此方法用于更新对话框进度某些特定的值

    6show(Context context, CharSequence title, CharSequence message)

    这是一个静态方法,用来显示进度对话框

    自定义对话框:

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    在android项目中为了美化外观,不会直接使用系统对话框,因此会自定义自己样式的自定义对话框,而自定义对话框也是非常简单的,具体使用方法如下:

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    具体步骤如下:

    首先在XML中将View视图显示出来,因为是自定义对话框,所以样式可以自己定义,相关介绍如下:

    在这个自定义的AlertDialog对话框中,我们加入了两个TextView控件(用来显示“帐号:”和“密码:”)以及两个EditText控件(用来输入“帐号”和“密码”)

    那么如何将这些控件加入到自定义的AlertDialog对话框中呢?首先,我们需要创建一个xml布局文件来加载这些控件。这里,我创建了一个名为“logindialog.xml”的布局文件。在该布局文件中完成对上述四个控件的布局即可。(省略就是写布局)

    完成xml布局文件的编写之后,我们需要将该xml文件动态加载并转化为View对象,然后通过AlertDialog.Builder类的setView()方法将该View对象加载进来,就可以完成自定义AlertDialog对话框的创建了。具体的实现方法如下:

    重点代码如下:

    public LoginDialog (Context context) {

    this.mContext = context;

    //动态加载布局生成View对象

    LayoutInflater layoutInflater = LayoutInflater.from(mContext);

    View longinDialogView = layoutInflater.inflate(R.layout.logindialog, null);

    //获取布局中的控件

    mUserName = (EditText)longinDialogView.findViewById(R.id.edit_username);

    mPassword = (EditText)longinDialogView.findViewById(R.id.edit_password);

    //创建一个AlertDialog对话框

    longinDialog = new AlertDialog.Builder(mContext)

    .setTitle("登录框")

    .setView(longinDialogView)                //加载自定义的对话框式样

    .setPositiveButton("确定", this)

    .setNeutralButton("取消", this)

    .create();

    longinDialog.show();

    }

    展开全文
  • 2048游戏的VC++实现,分为控制台和对话框两个程序,见文档:http://blog.csdn.net/dijkstar/article/details/33320263
  • 019.MFC_两种对话框

    2019-10-07 18:38:00
    对话框分为模态和非模态对话框两种 模态对话框(Modal) d.DoModal() 必须关闭才能返回主窗口 非模态对话框(Modaless) p->Create(IDD_DIALOG,this); p->ShowWindow(SW_SHOW); 一、建立mfc工程,添加...

     对话框分为模态和非模态对话框两种

    模态对话框(Modal) 

    d.DoModal()

    必须关闭才能返回主窗口

    非模态对话框(Modaless)

    p->Create(IDD_DIALOG,this);

    p->ShowWindow(SW_SHOW);

    一、建立mfc工程,添加Edit Control组件设置属性如图

     

    二、添加两个button 到对话框并分别设置两个button的caption属性为打开模态对话框 和 打开非模态对话框

     

    三、在资源视图中、右键单击dialog,选择插入dialog,并设置对话框id属性为IDD_FIRST_DIALOG,右键单击选择添加类,类名填写CFirstDlg,点击确定
    同理添加第二个对话框,id属性为IDD_SECOND_DIALOG,右键单击选择添加类,类名填写CSecondDlg,点击确定

     

    四、主窗口双击打开模态对话框进入主窗口对应文件dialogDlg.cpp

     

    在dialogDlg.cpp 文件中添加
    #include "FirstDlg.h"
    void CdialogDlg::OnBnClickedButton1()
    {
    // TODO: 在此添加控件通知处理程序代码
    CFirstDlg dlg;
    dlg.DoModal();
    }
    同理在主窗口双击打开非模态对话框进入主窗口对应文件dialogDlg.cpp添加
    #include "SecondDlg.h"
    void CdialogDlg::OnBnClickedButton2()
    {
    // TODO: 在此添加控件通知处理程序代码
    //必须要用指针
    CSecondDlg *pDlg = new CSecondDlg;
    pDlg->Create(IDD_SECOND_DIALOG,this);//arg1:要创建的对话框ID,arg2:父窗口指针
    pDlg->ShowWindow(SW_SHOW);
    }
    由于非模态对话框使用指针,所以对话框在关闭时必须将它销毁,
    类视图->选中CSecondDlg->属性对话框中选择重写选中PostNcDestroy
    进入SecondDlg.cpp 添加
    void CSecondDlg::PostNcDestroy()
    {
    // TODO: 在此添加专用代码和/或调用基类
    delete this;

    CDialogEx::PostNcDestroy();
    }

    至此两种模式的对话框都已添加完毕。

    转载于:https://www.cnblogs.com/Malphite/p/10822920.html

    展开全文
  • 对话框的创建

    2019-04-23 15:13:25
    1.分类:Qt对话框分为两种: 第一种是模态对话框,只能对对话框操作,不能对其它界面进行操作,利用的是dialog.exec();阻塞状态 QDialog dialog(this); dialog.exec(); 第二种是非模态对话框,可以对别的窗口进行...

    对话框的分类

    1.分类:Qt对话框分为两种:

    第一种是模态对话框,只能对对话框操作,不能对其它界面进行操作,利用的是dialog.exec();阻塞状态
    
    QDialog  dialog(this);
    dialog.exec();
    

    第二种是非模态对话框,可以对别的窗口进行操作。

    QDialog *dialog2 = new QDialog(this);
    dialog2->show();
    //设置窗口不被关闭
    dialog2->setAttribute(Qt::WA_DeleteOnClose)
    

    QMessageBox 标准对话框

    1.属性:弹出是所有对话框都是模态对话框

    2.QMessageBox的静态成员函数

    参数1 父窗口 参数2 标题 参数3 提示内容 参数4 按键类型 参数5 默认关联回车按键
    (1).错误提示critical

    connect(ui->actionMessageBox,&QAction::triggered,[=](){
            //1.弹出错误对话框
            QMessageBox::critical(this,"错误","critical");
            });
    

    错误提示
    (2).警告提示warning

    connect(ui->actionMessageBox,&QAction::triggered,[=](){
            //2.警告对话框
            QMessageBox::warning(this,"警告","FBI warning!");
            });
    

    警告提示
    (3).信息提示information

    connect(ui->actionMessageBox,&QAction::triggered,[=](){
            //3.弹出信息对话框
            QMessageBox::information(this,"信息","information");
            });
    

    信息提示
    (4).提问提示question

    connect(ui->actionMessageBox,&QAction::triggered,[=](){
    //4.弹出提问对话框
            //参数1   父窗口     参数2     窗口标题    参数3     提示信息    参数4     按键类型
            if(QMessageBox::Save == QMessageBox::question(this,"提问","question",QMessageBox::Save | QMessageBox::Cancel))
            {
                qDebug()<< "点击的是保存";
            }
            else
            {
                qDebug()<<"点击的是取消";
            }
            });
    

    提问提示

    其他对话框

    1.文件对话框

    参数1 父窗口 参数2 标题 参数3 默认打开路径 参数4 过滤后缀名

    QString filename = QFileDialog::getOpenFileName(this,"打开文件","E:/","Doc(*.doc *.docx)" );
            qDebug() <<"打开的文件名是:" <<filename.toUtf8().data();
    

    2.颜色对话框

    QColor color = QColorDialog::getColor(QColor(255,0,0));
    		//打印颜色值
            qDebug() << color.red() << color.green() << color.blue();
    

    3.字体对话框

    connect(ui->actionFont,&QAction::triggered,[=](){
             bool ok;//首先定义bool值ok
             QFont font = QFontDialog::getFont(&ok,QFont("宋体",20));
             qDebug() << "字体:"<< font.family().toUtf8().data() << "字号" <<font.weight() << "是否加粗" << font.bold();
         });
    
    展开全文
  • Qt:对话框

    2021-03-20 21:17:34
    Qt对话框分为两种。一种是模态对话框,即弹出此对话框时,用户不可以操作此程序其他窗口。 另一种是非模态对话框,弹出此对话框时,用户可以操作此程序的其他窗口。 定义一个对话框很简单,在这里我们顺便设置好它的...
  • 对话框

    2020-10-12 11:34:26
    对话框分为模态对话框、提示对话框、文本对话框、打开文件对话框等多种类型。在wxpthon中对话框都继承自wx.Dialog类。下面展示一下这些对话框。 一、对话框的创建和使用与Frame相似,不同的对话框表示一次信息交换的...
  • Win32对话框分为两种类型:  第一类:模式对话框  模式对话框又分为两种  1.应用程序模式对话框-->在关闭对话框前不能切换到同一程序另一窗口  2.系统模式对话框-->关闭该对话框前无法切换到其他任何...
  • 滚动条对话框分为圆圈和横条两种形式,通常用于网络延迟等操作,下面我们来介绍一下这种使用方式。 整体思路:在xml文件中定义两个button控件,分别设置它的点击事件,在这两个点击事件中实例化ProgressDialog对象,...
  • Android AlertDialg 对话框详细介绍

    千次阅读 2012-07-11 17:00:21
    一般来说,系统的对话框分为两种,一种是阻塞型对话框,一种是非阻塞型对话框。那么什么是阻塞型对话框和非阻塞型对话框呢?就是说当对话框出现的时候,当前线程是否还在进行操作,不是则为前者,是则为后者。 ...
  • 概述:1)对话框分为两种,一种是简单的对话框,一种悬浮窗。 4.0之后,确定按钮在右边,而在2.3之前,是在左边,要注意。 2)AlertDialog生成的对话框可分为4个区域: 图标区 标题区 内容区 按钮区2.使用方法...
  •    Windows应用程序中,对话框分为两种。另一种是模态对话框。二者的区别在于当对话框打开时,是否允许用户进行其他对象的操作。    详细如下:    非模态(Modeless)对话框,...
  • Qt 对话框

    2019-12-25 16:56:47
    对话框分为模态和非模态两种。两者有着一定的区别: 模态对话框:对话框打开后,其他窗体无法进行用户操作,知道当前模态对话框关闭。 非模态对话框:当用户打开非模态对话框后,可以和当前非模态对话框交互,也...
  • 对话框:用于提示用户输入对话框分为两种:1、模式对话框Modal背景界面卡住,用户必须在完成对话框输入并关闭对话框之后,才能回到背景界面2、非模式对话框Non-Modal背景界面可以活动,这篇博客将分别介绍一、模式...
  • 模态对话框

    2013-09-18 10:50:04
     一般来说,Windows应用程序中,对话框分为模态对话框和非模态对话框两种。二者的区别在于当对话框打开时,是否允许用户进行其他对象的操作。  模态对话框垄断了用户的输入。当一个模态对话框打开时,用
  • 下面让我们通过一个实例 ...MFC中创建的对话框分为两种 模态对话框 非模态对话框 两者区别简单来说就是 模态对话框就像和你女朋友聊天,一旦你打开了她的对话框,除非你把她哄好打点好之后,你才能干其他...
  • 这种消息对话框分为两种:模态和非模态。 区别:简单的说:模态对话框是你在弹出对话框之后必须对其作出响应和操作之后才能对对话框之外的其他程序的进行操作;非模态对话框就是在弹出对话框之后可以对弹出的对话框...
  • 孙鑫VC++深入详解(6):对话框1

    千次阅读 2014-04-03 16:52:39
     对话框分为两种:模态对话框和非模态对话框。模态对话框指当其显示时,其它程序会暂停执行,即不能进行其它操作,直到关闭这个对话框。非模态对话框则没有这个限制。  要创建一个对话框,需要先创建一个对话框...
  • MFC文件对话框

    2018-07-05 10:21:53
    (文件对话框分为打开文件对话框和保存文件对话框,相信大家在Windows系统中经常见到这两种文件对话框。例如,很多编辑软件像记事本等都有“打开”选项,选择“打开”后会弹出一个对话框,让我们选择要打开文件的...
  • 一般来说,Windows应用程序中,对话框分为模态对话框和非模态对话框两种。 模态对话框(Modal Dialogue Box,又叫做模式对话框)垄断了用户的输入。当一个模态对话框打开时,用户只能与该对话框进行交互,而其他用户...
  • Android 中 AlertDialog 组件的使用方法,来实现四常用的对话框,用于和用户的交互。
  • 在Qt中的对话框依旧分为模态对话框和非模态对话框两种。接下来我们将依次介绍下它们的使用方法。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,269
精华内容 21,307
关键字:

对话框分为两种