Dialog的几种写法示例

代码如下:

public class MainActivity extends ActionBarActivity implements OnClickListener {

private Dialog dialog2;

private Dialog dialog3;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button btn=(Button) findViewById(R.id.btn);

Button btn_first=(Button) findViewById(R.id.btn_first);

Button btn_second=(Button) findViewById(R.id.btn_second);

btn.setOnClickListener(this);

btn_first.setOnClickListener(this);

btn_second.setOnClickListener(this);

}

@Override

public void onClick(View arg0) {

switch (arg0.getId()) {

case R.id.btn:

//分步设置dialog属性

AlertDialog.Builder dialog= new AlertDialog.Builder(MainActivity.this);

//设置标题

dialog.setTitle("提示信息");

//设置logo

dialog.setIcon(R.drawable.ic_launcher);

dialog.setMessage("这是提示内容!!!!");

//create()可省略,但show()不可省略

dialog.create();

dialog.show();

break;

case R.id.btn_first:

dialog2 = new AlertDialog.Builder(MainActivity.this)

//设置标题

.setTitle("删除文件")

//设置对话框内容

.setMessage("确定要删除吗?")

//设置图标

.setIcon(R.drawable.ic_launcher)

//设置确认按钮

.setPositiveButton("确认", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

Toast.makeText(MainActivity.this, "删除文件", 100).show();

}

})

.setNeutralButton("信息", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

Toast.makeText(MainActivity.this, "详细信息", 100).show();

}

})

.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

Toast.makeText(MainActivity.this, "取消删除文件", 100).show();

dialog2.dismiss();

}

})

//create()可省略,但show()不可省略

.create();

dialog2.show();

break;

//加载布局的dialog

case R.id.btn_second:

//加载布局

View view=View.inflate(MainActivity.this, R.layout.content, null);

Button btn_confirm =(Button) view.findViewById(R.id.btn_confirm);

Button btn_cancle =(Button) view.findViewById(R.id.btn_cancel);

btn_confirm.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

Toast.makeText(MainActivity.this, "登录", 100).show();

//如果是AlertDialog ,没有dismiss()方法;Dialog有dismiss()方法

dialog3.dismiss();

}

});

btn_cancle.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

Toast.makeText(MainActivity.this, "取消", 100).show();

dialog3.dismiss();

}

});

dialog3 = new AlertDialog.Builder(MainActivity.this)

.setTitle("用户登录")

.setIcon(R.drawable.ic_launcher)

.setView(view)

.show();

break;

default:

break;

}

}

时间: 2024-12-28 17:40:37

Dialog的几种写法示例的相关文章

可拖动弹窗的JS和jQuery两种写法

最近在慕课网上学习了一个网页可拖动对话框js实现的演示视频,这个demo中的例子是百度首页登录按钮的弹窗,如下图: 当点击左上角的登录按钮时,弹窗出现并自动居中,同时窗口可拖动的范围被限制在了可视区域内,即浏览器视窗的上下左右边界,弹窗无法移出移动出四个边界,也不会出现滚动条. 另一个效果就是,当改变窗口大小时,对话框自动居中. 这个视频中用了原生js,jQuery两种写法实现案例,但本质上,对话框居中,限制拖动范围的的计算思路是一致的. 为了简化页面,总结核心思路,我重新写了一个小demo,界

PowerShell-自定义函数(二) Function的另一种写法

上一篇我们讲了一个最简单的Fuction的实现方法,了解了Function最简单快捷的一种编写方式. 这种编写方式在实现简单功能时非常简洁高效,但是碰上更复杂的需求,这种写法即不直观,也不利于代码整洁. 下面我们来看看Function的另一种写法. 目标(同上篇): 输入姓名和年龄后,直接在显示 某某 今年 多少 岁 . 示例: Function Test-Function {         Param         (         $Name,         $Age = "18&q

jquery写插件的几种写法总结(持续补充中)

1:jQuery.fn.extend(object);  给jQuery对象添加方法. js封装文件示例 $.fn.extend({ alertWhileClick:function(){ $(this).click(function(){ alert($(this).val()); }); } }); HTML中的js调用 $(“#input1″).alertWhileClick(); HTML代码 <input id=”input1″ type=”text”/> 2:jQuery.exte

单例模式(下)---聊一聊单例模式的几种写法

在上一篇文章 单例模式(上)--如何优雅地保证线程安全问题中,我们采取了懒汉式写法来写我们的单例模式,并且重点讲解了懒汉式中线程安全的问题.这篇我们来讲讲单例模式中的其他几种写法. 上篇文章中,方法和变量的声明都忘了加上"static"的声明,这里提醒一下. 懒汉式 懒汉式在上节我们已经讲过了,直接给出代码: public class Singleton { private static volatile Singleton instance = null; private Singl

Android中点击事件的四种写法详解

Android中点击事件的四种写法使用内部类实现点击事件使用匿名内部类实现点击事件让MainActivity实现View.OnClickListener接口通过布局文件中控件的属性 第一种方法:使用内部类基本步骤如下: 新建一个MyOnClickListener类并实现View.OnClickListener接口 重写View.OnClickListener接口中的OnClick(View view)方法 给Button绑定一个监听器,并监听一个点击事件示例代码如下: public class

横冲直撞vue(第三篇):vue中template的三种写法、v-bind、v-on、更新元素的指令v-text与v-html、条件渲染指令v-if 与v-show、v-for

一.vue中template的三种写法 第一种(字符串模板写法): 直接写在vue构造器里,这种写法比较直观,适用于html代码不多的场景,但是如果模板里html代码太多,不便于维护,不建议这么写. <body> <div id="app"></div> <script src="./lib/vue.js"></script> <script type="text/javascript&qu

一维数组的三种写法

/** *一维 数组的几种写法 * 记住:①数组的左边不能有数字 *   ②数组的右边既然初始化了数组,那么就要赋值 */ //一维数组的标准格式 String[] arr1 = new String[]{"bo","li","jian"}; //上面的简写格式 String[] arr2 = {"bo","li","jian"}; //初始化容量 String[] arr3 = new

Android点击事件的四种写法

Android点击事件的四种写法 一.Android点击事件的四种写法 1.点击事件的第一种写法 .  写一个内部类.实现点击事件的接口 bt.setOnClickListener(new MyButtonListener()); 2.点击事件的第二种写法,匿名内部类 bt.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { callPhone(); } }); 3.点击事件的第三种

for循环的两种写法

教程 (https://tour.golang.org/methods/21) 里的 for 是这样写的: 其中 for 语句可以改写如下: for n, err := r.Read(b); err != io.EOF; n, err = r.Read(b) { fmt.Printf("n = %v err = %v b = %v\n", n, err, b) fmt.Printf("b[:n] = %q\n", b[:n]) } (当然,golang 里的 for