对话框程序代码详解
- 格式:pptx
- 大小:926.50 KB
- 文档页数:23
Android开发之对话框案例详解(五种对话框)下⾯通过实例代码给⼤家分享5种android对话框,具体内容详情如下所⽰:1 弹出普通对话框 --- 系统更新2 ⾃定义对话框-- ⽤户登录3 时间选择对话框 -- 时间对话框4 进度条对话框 -- 信息加载..5 popuWindow对话框1 弹出普通对话框 --- 系统更新//弹出普通对话框public void showNormalDialog(View v) {AlertDialog.Builder builder = new Builder(this);//设置Dialog的图标builder.setIcon(R.drawable.ic_launcher);//设置对话框的标题builder.setTitle("更新");//设置messagebuilder.setMessage("发现新版本是否更新?");//确定按钮取消按钮builder.setPositiveButton("确定",new OnClickListener() {/*** 点击确定按钮回调该⽅法*/@Overridepublic void onClick(DialogInterface dialog, int which) {//到服务器去下载新的版本 duration单词意思:时长Toast.makeText(MainActivity.this, "开始下载新版本", Toast.LENGTH_SHORT).show();}});builder.setNegativeButton("取消", new OnClickListener() {/*** 点击取消按钮回调该⽅法*/@Overridepublic void onClick(DialogInterface dialog, int which) {//到服务器去下载新的版本 duration单词意思:时长Toast.makeText(MainActivity.this, "不需要更新", Toast.LENGTH_SHORT).show();}});builder.setNeutralButton("下⼀次", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//到服务器去下载新的版本 duration单词意思:时长Toast.makeText(MainActivity.this, "下⼀次吧", Toast.LENGTH_SHORT).show();}});//通过建造这⽼构建⼀个对话框Dialog dialog = builder.create();//显⽰dialog.show();}2 ⾃定义对话框-- ⽤户登录布局⽂件:user_name_dialog.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:padding="10dip"android:orientation="vertical" >android:layout_width="match_parent"android:layout_height="wrap_content"android:text="登录信息"android:gravity="center"android:textAppearance="?android:attr/textAppearanceLarge" /> <TextViewandroid:id="@+id/tv_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="⽤户名:" /><EditText android:id="@+id/et_name"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输⼊⽤户名"/><TextViewandroid:id="@+id/tv_pwd"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="密码:" /><EditText android:id="@+id/et_pwd"android:layout_width="match_parent"android:layout_height="wrap_content"android:inputType="textPassword"android:hint="请输⼊密码"/><requestFocus /><Buttonandroid:id="@+id/btn_confirm"android:layout_width="150dip"android:layout_height="wrap_content"android:layout_gravity="center"android:text="登录" /><Buttonandroid:id="@+id/btn_cancel"android:layout_width="150dip"android:layout_height="wrap_content"android:layout_gravity="center"android:text="取消" /></LinearLayout>java代码://⾃定义对话框Dialog cus_dialog ;public void showCustomDialog(View v){AlertDialog.Builder builder = new Builder(this);// 布局填充器LayoutInflater inflater = LayoutInflater.from(this);View view = inflater.inflate(er_name_dialog, null);// 设置⾃定义的对话框界⾯builder.setView(view);// 获取⽤户名密码final EditText name = (EditText) view.findViewById(R.id.et_name); final EditText pwd = (EditText) view.findViewById(R.id.et_pwd);Button btn_confirm = (Button) view.findViewById(R.id.btn_confirm); btn_confirm.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO ⾃动⽣成的⽅法存根if(name.getText().toString().trim().equals("abc")){showToastMsg("⽤户名正确");// 对话框消失cus_dialog.dismiss();}else{showToastMsg("⽤户名错误");}}});Button btnCancel = (Button) view.findViewById(R.id.btn_cancel); btnCancel.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 对话框消失cus_dialog.dismiss();}cus_dialog = builder.create();cus_dialog.show();}3 时间选择对话框 -- 时间对话框// 时间选择对话框public void showTimePickerDialog(View v){Calendar sysDate = Calendar.getInstance();//设置系统时间sysDate.setTimeInMillis(System.currentTimeMillis());int hour = sysDate.get(Calendar.HOUR_OF_DAY);int minute = sysDate.get(Calendar.MINUTE);TimePickerDialog time = new TimePickerDialog(this,new OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay, int minute) {// TODO ⾃动⽣成的⽅法存根showToastMsg(" hourOfDay:" + hourOfDay + " minute:" + minute);}}, //callBack 选择时间后的回调⽅法hour,//hourOfDay 当前系统时间minute,//hourOfDay 当前系统时间true);//是否24⼩时制time.show();}4 进度条对话框 -- 信息加载../*** 进度条对话框* @param v*/public void showProgressDialog(View v){final ProgressDialog progress = new ProgressDialog(this);progress.setProgress(R.drawable.img2);progress.setTitle("标题");progress.setMessage("加载中...");//样式1 进度条样式progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//样式2 有加载图标//progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);//最⼤progress.setMax(100);//当前progress.setProgress(50);progress.setButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO ⾃动⽣成的⽅法存根showToastMsg("确定按钮");}});progress.setButton2("取消", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO ⾃动⽣成的⽅法存根showToastMsg("取消按钮");}});progress.show();new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubint i = 0;while (i < 100) {try {Thread.sleep(200);// 更新进度条的进度,可以在⼦线程中更新进度条进度progress.incrementProgressBy(5);// progress.incrementSecondaryProgressBy(10);//⼆级进度条更新⽅式 i += 5;} catch (Exception e) {// TODO: handle exception}// 在进度条⾛完时删除Dialogprogress.dismiss();}}).start();}5 popuWindow对话框Button btn_popu;//popuWindow对话框public void showPopuWindow(View v){btn_popu = (Button) v;// 设置布局View view = LayoutInflater.from(this).inflate(yout.pop_window, null);PopupWindow window = new PopupWindow(this);window.setContentView(view);window.setWidth(360);window.setHeight(200);int[] location = new int[2];// 获取按钮坐标btn_popu.getLocationInWindow(location);window.setFocusable(true);window.setBackgroundDrawable(getResources().getDrawable(R.drawable.back_null));window.showAtLocation(btn_popu, Gravity.LEFT |Gravity.TOP , location[0]+ btn_popu.getWidth(), location[1] + 0 );//showToastMsg("" + (location[0]+ btn_popu.getWidth())+" "+ (location[1] + btn_popu.getHeight() / 2));ImageView img_start = (ImageView) view.findViewById(R.id.img_start);img_start.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO ⾃动⽣成的⽅法存根showToastMsg("点击了启动");}});}总结以上所述是⼩编给⼤家介绍的详解Android开发之对话框案例详解(五种对话框),希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
用C#编写的弹出选择对话框程序。
一、基于WINFORM下的选择对话框在WINFORM下,我们可以利用系统的对话框(MessageBox)来实现,具体思路是读取MessageBox的返回值(YES或NO)来达到对操作的控制。
下面是一个演示程序代码代码如:private void button1_Click(object sender, System.EventArgs e){label1.Text="";DialogResult MsgBoxResult;//设置对话框的返回值MsgBoxResult = MessageBox.Show("请选择你要按下的按钮",//对话框的显示内容"提示",//对话框的标题MessageBoxButtons.YesNo,//定义对话框的按钮,这里定义了YSE和NO两个按钮MessageBoxIcon.Exclamation,//定义对话框内的图表式样,这里是一个黄色三角型内加一个感叹号MessageBoxDefaultButton.Button2);//定义对话框的按钮式样if (MsgBoxResult == DialogResult.Yes)//如果对话框的返回值是YES(按"Y"按钮){bel1.ForeColor = System.Drawing.Color.Red;//字体颜色设定label1.Text=" 你选择了按下”Yes“的按钮!";}if(MsgBoxResult == DialogResult.No)//如果对话框的返回值是NO(按"N"按钮){bel1.ForeColor = System.Drawing.Color.Blue;//字体颜色设定label1.Text=" 你选择了按下”No“的按钮!";}}代码运行后的结果如图1所示:当按动对话框的“是”按钮时,显示红色字体“你选择了按下“YES”的按钮”字样,如果你按动了对话框的“否”按钮将显示蓝色字体的“你选择了按下“NO”的按钮”字样。
文章主题:messagebox 用法详解与实例1. 什么是messagebox?messagebox 是一种常用的对话框控件,用于在计算机应用程序中向用户显示信息和提示,通常包括消息文本和一些按钮供用户选择。
2. messagebox 的基本用法在Python中,可以使用Tkinter库中的 messagebox 模块来创建对话框。
常见的对话框类型有:showinfo、showwarning、showerror、askquestion、askyesno等。
下面通过几个实例来具体介绍。
3. 实例一:showinfo使用 showinfo 函数可以创建一个包含指定信息的信息对话框,示例代码如下:```pythonfrom tkinter import messageboxmessagebox.showinfo("Wee", "欢迎来到我的程序!")```运行程序后,会弹出一个标题为“Wee”的对话框,内容是“欢迎来到我的程序!”4. 实例二:askquestion使用 askquestion 函数可以创建一个包含指定问题的询问对话框,示例代码如下:```pythonfrom tkinter import messageboxresponse = messagebox.askquestion("确认", "您确定要退出程序吗?")if response == "yes":print("用户选择退出程序。
")else:print("用户选择取消。
")```运行程序后,会弹出一个标题为“确认”的对话框,内容是“您确定要退出程序吗?”用户点击“是”或“否”按钮后,程序会相应地输出相应的信息。
5. messagebox 的个人观点和理解在我的实际开发中,messagebox 是一个非常实用的工具,可以方便地与用户进行交互。
简易聊天对话框(源码) 今天看了⼏个JS的视频,视频中布置了⼀个编写⼀个简易聊天对话框的任务,没有涉及到Ajax.主要实现了切换头像模拟两⽅的聊天情况,样式⽐较简单,后期可以进⾏美化。
需要注意的地⽅是我是⽤的⼀个div标签来实现元素的添加,这样更利于样式的设置,每添加⼀个对话框需要清除⼀下浮动,不然会出现连续⼏个对话框出现在⼀⾏的现象。
<!DOCTYPE html><html><head><meta charset="utf-8"><title></title><style type="text/css">.box{width:300px;height:400px;margin: 20px auto;border: solid 1px black}.box .cont{height: 300px;border-bottom: solid 1px black;overflow: auto;}.cont div{max-width:220px;margin: 4px;padding: 4px;border-radius: 6px;clear: both;word-wrap: break-word;} /*给div设置最⼤宽度并且使⽤break-word使div内容⾃动换⾏*/.cont div:nth-child(2n){background: skyblue;float: left} /*设置点击发送次数为偶数时,div左浮动*/.cont div:nth-child(2n-1){background: orange;float: right} /*设置点击发送次数为奇数时,div右浮动*/.box .btns{height: 99px}.btns *{height: 99px;border: none;padding: 0;margin: 0;background: none;float: left;}#txt{width: 260px;padding: 20px;box-sizing: border-box}#send{width: 40px;border-left: solid 1px black;}</style></head><body><div class="box"><div class="cont"></div><div class="btns"><textarea id="txt"></textarea><input type="button" value="发送" id="send" /></div></div></body><script>var oTxt = document.getElementById("txt");var oSend = document.getElementById("send");var oCont = document.querySelector(".cont");// var oCont = document.getElementsByClassName("cont")oSend.onclick = function(){ // 创建oSend的点击事件var odiv = document.createElement("div"); odiv.innerHTML = oTxt.value; // 把txt输⼊框内的内容赋值给divoCont.appendChild(odiv); //把创建的div插⼊到cont标签⼦元素内odiv.scrollIntoView(); //让当前的元素滚动到浏览器窗⼝的可视区域内oTxt.value = ""; //清除⽂本框内容}</script></html>。
python 对话框的创建及调用一、前言Python 是一种高级编程语言,它的设计目标是让程序员更容易编写清晰、逻辑性更强的代码。
Python 有着简单易学的语法,同时也是一种功能强大的编程语言。
在 Python 中,我们可以使用对话框来与用户进行交互,这样可以使程序更加友好、实用。
本文将介绍如何使用Python 创建对话框,并调用这些对话框。
二、创建基本对话框1. 创建一个空白窗口在 Python 中,我们可以使用 tkinter 模块来创建对话框。
下面是一个简单的示例代码:```import tkinter as tkroot = ()root.mainloop()```这段代码创建了一个空白窗口,并进入了主循环(mainloop)。
2. 添加标签和按钮接下来,我们可以向窗口中添加标签和按钮。
标签可以用来显示文本信息,而按钮则可以用来触发事件。
下面是一个示例代码:```import tkinter as tkroot = ()label = bel(root, text="Hello, World!")label.pack()button = tk.Button(root, text="Click me!")button.pack()root.mainloop()```这段代码创建了一个带有标签和按钮的窗口。
当用户点击按钮时,程序将触发相应的事件。
3. 创建对话框在 Python 中,我们可以使用 Toplevel 类来创建对话框。
下面是一个示例代码:```import tkinter as tkroot = ()def open_dialog():dialog = tk.Toplevel(root)label = bel(dialog, text="This is a dialog")label.pack()button = tk.Button(root, text="Open Dialog",command=open_dialog)button.pack()root.mainloop()```这段代码创建了一个按钮,当用户点击按钮时,程序将打开一个对话框,并在对话框中显示一条消息。
第七章Dialog一、用户对话框:用户在使用应用程序时,可以对控件进行输入、输出操作,而控件是通过对话框的数据交换机制与对话框进行数据交换的,本节主要介绍对话框数据交换与验证。
1.数据交换对话框数据交换(DDX,Dialog Data Exchange)用于对话框及其相关控件的初始化,并实现控件与对话框之间的数据交换。
DDX机制的实现函数语法如下:void nDlg::DoDataExchange( CDataExchange* pDX ){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(nDlg)DDX_Custom(pDX, nIDC, field);//}}AFX_DATA_MAP}参数说明:nDlg:是进行数据交换机制的对话框类。
DDX_Custom:DDX函数,使用的函数根据进行数据交换时成员变量的数据类型和控件决定。
pDX:是一个指向CDataExchange对象的指针。
nIDC:表示进行数据交换的控件ID。
field:表示对话框类中和控件进行关联的成员变量。
在对话框中的数据需要进行交换时,DoDataExchange函数就被调用进行数据交换。
但是还需要调用函数UpdateData来实现数据的更新,UpdateData函数语法如下:BOOL UpdateData( BOOL bSaveAndValidate = TRUE );参数说明:bSaveAndValidate:该参数是一个标志,取值如下:l 当参数值为TRUE时,就用对话框界面上显示的值来设置对话框类的成员变量的值。
l 当参数值为FALSE时,则按照对话框类的成员变量的值来更新对话框界面上显示的值。
一般情况下,数据交换只在对话框初始化时才发生,所以在对话框类中的其他函数如果要在设置成员变量以后,及时的显示或者获取对话框上最新的输入值,就必须显式地调用UpdateData函数。
2.数据验证对话框数据验证(DDV,Dialog Data V alidation)用于验证对话框输入数据的有效性。