Android Dialog对话框的七种形式的使用
参考资料:http://www.oschina.net/question/54100_32486
注:代码进行了整理
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。
1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。
//一般的Dialog
public void normalDialog(){
AlertDialog.Builder bulider =new Builder(MainActivity.this);
bulider.setIcon(R.drawable.ic_launcher);//在title的左边显示一个图片
bulider.setTitle("提示");
bulider.setMessage("你确定你要关掉它?");
bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
dialog.dismiss();
MainActivity.this.finish(); }
});
bulider.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
bulider.create().show(); }
new AlertDialog.Builder(MachineRegister.this)
.setTitle("提示")
.setMessage("设备注册成功")
.setPositiveButton("确定",
new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method }
//当点击返回时,就停留在本界面
})
.setNegativeButton("返回",
new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,
int which) { } }).show();
2.改变了对话框的图表,添加了三个按钮
//三个按钮的对话框
public void sanDialog(){
AlertDialog.Builder bulider =new Builder(MainActivity.this);
bulider.setIcon(R.drawable.ic_launcher);//在title的左边显示一个图片
bulider.setTitle("提示");
bulider.setMessage("你确定你要关掉它?");
//最左边的按钮(positive :积极地)
bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
dialog.dismiss();
MainActivity.this.finish(); }
});
//最右边的钮(negative:消极的)
bulider.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
//中间的钮
bulider.setNeutralButton("逗你玩", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub }
});
bulider.create().show(); }
3.信息内容是一个简单的View类型
//信息内容是一个简单的View类型
public void shuruDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("请输入"); //放进去任意简单的view
builder.setView(new EditText(this));
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null); builder.create().show();
}
4.信息内容是一组单选框
//信息内容是单选框
public void danxuanDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("单选框");
//定义单选框
builder.setSingleChoiceItems(new String[]{"item1","item2"} ,0, new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface arg0, int arg1) {
//对选择项绑定事件 }
});
builder.setNegativeButton("取消", null); builder.create().show();
}
5.信息内容是一组多选框
//信息内容是复选框
public void fuxuanDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("复选框");
//定义复选框
builder.setMultiChoiceItems(new String[]{"item1","item2"}, null, null);
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null); builder.create().show();
}
6.信息内容是一组简单列表项
//信息内容是简单地列表项 public void liebiaoDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("列表项");
//定义复选框
builder.setItems(new String[]{"item1","item2"}, null);
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null); builder.create().show();
}
7.信息内容是一个自定义的布局
dialog布局文件代码如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:background="#ffffffff" android:orientation="horizontal"
android:id="@+id/dialog">
<TextView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/tvname" android:text="姓名:" />
<EditText android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/>
</LinearLayout>
创建dialog方法的代码如下:
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.dialog,
(ViewGroup) findViewById(R.id.dialog));
new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout)
.setPositiveButton("确定", null)
.setNegativeButton("取消", null).show();
好了,以上7种Android dialog对话框的使用方法就介绍到这里了,基本都全了,如果大家在android开发过程中遇到dialog的时候就可以拿出来看看。
注意:在使用dialog增加按钮选项的时候,
bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() {
应该是红色字体部分,而写成:
bulider.setPositiveButton("确定", new OnClickListener() {
往往会报错,详细·····
Android Dialog对话框的七种形式的使用的更多相关文章
- Android Dialog对话框
Dialog的基本方法 //创建Dialog AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); //设 ...
- Dialog对话框的几种方式使用实现
package com.loaderman.dialogdemo; import android.app.ProgressDialog; import android.content.DialogIn ...
- Android控件——7种形式的Android Dialog使用举例(转载)
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一 ...
- 8种形式的Android Dialog使用举例
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一 ...
- Android开发手记(13) 几种Alertdialog的使用
本文主要讨论七种形式的AlertDialog,及其编写方法. 1.退出 在用户退出的时候提示用户是否退出,含有“确定”和“退出”两个按键. btnExit.setOnClickListener(new ...
- Android Dialog使用举例
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一 ...
- C/C++ Qt Dialog 对话框组件应用
在Qt中对话框分为两种形式,一种是标准对话框,另一种则是自定义对话框,在一般开发过程中标准对话框使用是最多的了,标准对话框一般包括 QMessageBox,QInputDialog,QFileDial ...
- Android之UI--打造12种Dialog对话框
最近有空,来把app中常用到的Dialog对话框写一篇博客,在app中很多地方都会用到Dialog对话框,今天小编我就给大家介绍Dialog对话框. 先看看效果图: 12种,可根据需求选择,上图可知, ...
- Android下常见的四种对话框
摘要:在实际开发过程有时为了能够和用户进行很好的交互,需要使用到对话框,在Android中常用的对话框有四种:普通对话框.单选对话框.多选对话框.进度对话框. 一.普度对话框 public void ...
随机推荐
- 移动 web 端屏幕适配 - rem
前言 最近整理了一下以前学习前端的笔记,发现自己对移动 web 端屏幕适配(rem)这一块并没有真正理解,只是会用.接下来,把自己的一些对移动 web 端屏幕适配(rem)的思考记录下来. rem 介 ...
- PHP基础知识总结(二) 数据类型、数组、变量和运算符
一.PHP是服务器端的脚本语言.在服务器端解析完成后,向前端浏览器发送html. PHP文件的部署位置在:xampp\htdocs文件夹下,当然这个位置可以修改.二.PHP基本语法 1.文件后缀名是p ...
- [ERR] 153 - Got a packet bigger than 'max_allowed_packet' bytes
异常原因: 用客户端导入数据的时候,信息包过大 ,终止了数据导入,需要修改max_allowed_packet 参数 解决方案: 1. sql语句修改( ⚠️重启服务设置会失效) 登陆mysql查看当 ...
- 在webpack4 中利用Babel 7取消严格模式方法
报错信息: Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on stri ...
- python面试题之阅读下面的代码,它的输出结果是什么?
class A(object): def go(self): print "go A go!" def stop(self): print "stop A stop!&q ...
- python--知识小结和集合
知识小结 一. = 表示赋值 ==表示比较值的大小 is 比较内存地址 二. 数字小数据池:在-5~256之内,id在电脑里是一样的 字符串id一样要求: ①:不能有特殊字符 ②:s(一个单字符)*2 ...
- Oracle备份统计信息
Oracle可以通过DBMS_STATS.GET_TABLE_STATS 收集表的统计信息,一般的收集方法如下: DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => ...
- swagger2.0与spring结合
官方文档: http://www.baeldung.com/swagger-2-documentation-for-spring-rest-api swagger是一个前后端api统一文档和测试框 ...
- Android编程之Listener侦听的N种写法及实现原理
写下这个题目时突然想起鲁迅笔下的孔乙已,茴香豆的几种写法,颇有些咬文嚼字的味道.虽然从事手机编程多年,但一直使用的是C和C++编程,由于安卓早期只支持JAVA开发,所以对于时下如火如荼的安卓系统,我一 ...
- AtCoder ABC 131F Must Be Rectangular!
题目链接:https://atcoder.jp/contests/abc131/tasks/abc131_f 转自博客:https://blog.csdn.net/qq_37656398/articl ...