目录

一、提示信息对话框:

二、单选对话框:

三、多选对话框:

四、自定义对话框:

演示项目完整代码:


一、提示信息对话框:

//显示提示消息对话框
private void showMsgDialog() {
//创建AlertDialog构造器Builder对象,AlertDialog建议使用android.support.v7.app包下的。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置对话框标题
builder.setTitle("提示信息对话框");
//设置提示信息
builder.setMessage("是否确定退出!");
//设置对话框图标
builder.setIcon(R.mipmap.ic_launcher);
//添加确定按钮
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//添加确定按钮点击的处理代码
Toast.makeText(MainActivity.this, "点击了确定!", Toast.LENGTH_SHORT).show();
}
});
//添加取消按钮
builder.setNegativeButton("取消",null);
//创建并显示对话框
builder.show();
}

二、单选对话框:

    //显示单选对话框
private void showSingleChoiceDialog() {
//创建AlertDialog构造器Builder对象,AlertDialog建议使用android.support.v7.app包下的。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置对话框标题
builder.setTitle("请选择性别");
//设置对话框图标
builder.setIcon(R.mipmap.ic_launcher);
final String[] sexs = new String[]{"男", "女"};
//设置单选选项
builder.setSingleChoiceItems(sexs, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "您选择了:"+sexs[which], Toast.LENGTH_SHORT).show();
}
});
//添加确定按钮
builder.setPositiveButton("确定", null);
//创建并显示对话框
builder.show();
}

三、多选对话框:

 //显示多选对话框
private void showMultiChoiceDialog() {
//创建AlertDialog构造器Builder对象,AlertDialog建议使用android.support.v7.app包下的。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置对话框标题
builder.setTitle("请选择传感器");
//设置对话框图标
builder.setIcon(R.mipmap.ic_launcher);
final String[] sensors = new String[]{"温湿度传感器", "光照传感器","CO2传感器","风速传感器"};
//设置多选选项
builder.setMultiChoiceItems(sensors, new boolean[]{false,true,true,false}, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) { }
});
//添加确定按钮
builder.setPositiveButton("确定", null);
//创建并显示对话框
builder.show();
}

四、自定义对话框:

自定义对话框布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:orientation="vertical"> <TextView
android:id="@+id/tvTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#2372c1"
android:gravity="center"
android:text="提示"
android:padding="5dp"
android:textColor="#fff"
android:textSize="25sp" /> <TextView
android:id="@+id/tvContent"
android:layout_width="match_parent"
android:layout_height="200dp"
android:gravity="center"
android:text="自定义对话框内容" /> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#c0c0c0"
android:gravity="center"
android:orientation="horizontal"> <Button
android:id="@+id/btnOk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确定" /> <Button
android:id="@+id/btnCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:text="取消" />
</LinearLayout>
</LinearLayout>
MyDialog.Java
package com.newland.dialogdemo;

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView; public class MyDialog extends Dialog {
private String title;
private String content;
private TextView tvTitle;
private TextView tvContent;
private Button btnOk;
private Button btnCancel; public MyDialog(Context context) {
super(context);
} @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//去除标题
requestWindowFeature(Window.FEATURE_NO_TITLE);
//引入自定义对话框布局
setContentView(R.layout.my_dialog);
//初始化控件
initView();
//设置标题
tvTitle.setText(title);
//设置内容
tvContent.setText(content);
//注册确认按钮监听器
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//点击确认时的操作
}
});
//注册取消按钮监听器
btnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//关闭对话框
dismiss();
}
});
} //初始化控件
private void initView() {
tvTitle = findViewById(R.id.tvTitle);
tvContent = findViewById(R.id.tvContent);
btnOk = findViewById(R.id.btnOk);
btnCancel = findViewById(R.id.btnCancel);
} public void setTitle(String title) {
this.title = title;
} public void setContent(String content) {
this.content = content;
}
}
MainActivity.Java
    //显示自定义对话框
private void showCustomDialog() {
MyDialog dialog = new MyDialog(this);
dialog.setTitle("自定义对话框");
dialog.setContent("你好!这里是自定义对话框!");
dialog.show();
}

演示项目完整代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/btnShowMsgDlg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="提示信息对话框"/> <Button
android:id="@+id/btnShowSingleDlg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="单选对话框"/> <Button
android:id="@+id/btnShowMultiDlg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="多选对话框"/> <Button
android:id="@+id/btnShowCustomDlg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="自定义对话框"/>
</LinearLayout>
package com.newland.dialogdemo;

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener {
//显示提示信息对话框按钮
private Button btnShowMsgDlg;
//显示单选对话框按钮
private Button btnShowSingleDlg;
//显示多选对话框按钮
private Button btnShowMultiDlg;
//显示自定义对话框按钮
private Button btnShowCustomDlg; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //初始化视图以及监听器
initView();
} //初始化视图以及监听器
private void initView() {
//初始化控件
btnShowMsgDlg = findViewById(R.id.btnShowMsgDlg);
btnShowSingleDlg = findViewById(R.id.btnShowSingleDlg);
btnShowMultiDlg = findViewById(R.id.btnShowMultiDlg);
btnShowCustomDlg = findViewById(R.id.btnShowCustomDlg); //注册按钮监听器
btnShowMsgDlg.setOnClickListener(this);
btnShowSingleDlg.setOnClickListener(this);
btnShowMultiDlg.setOnClickListener(this);
btnShowCustomDlg.setOnClickListener(this);
} @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnShowMsgDlg: //显示提示信息对话框按钮
showMsgDialog();
break;
case R.id.btnShowSingleDlg: //显示单选对话框按钮
showSingleChoiceDialog();
break;
case R.id.btnShowMultiDlg: //显示多选对话框按钮
showMultiChoiceDialog();
break;
case R.id.btnShowCustomDlg: //显示自定义对话框按钮
showCustomDialog();
break;
}
}
//显示提示消息对话框
private void showMsgDialog() {
//创建AlertDialog构造器Builder对象,AlertDialog建议使用android.support.v7.app包下的。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置对话框标题
builder.setTitle("提示信息对话框");
//设置提示信息
builder.setMessage("是否确定退出!");
//设置对话框图标
builder.setIcon(R.mipmap.ic_launcher);
//添加确定按钮
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//添加确定按钮点击的处理代码
Toast.makeText(MainActivity.this, "点击了确定!", Toast.LENGTH_SHORT).show();
}
});
//添加取消按钮
builder.setNegativeButton("取消",null);
//创建并显示对话框
builder.show();
}
//显示单选对话框
private void showSingleChoiceDialog() {
//创建AlertDialog构造器Builder对象,AlertDialog建议使用android.support.v7.app包下的。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置对话框标题
builder.setTitle("请选择性别");
//设置对话框图标
builder.setIcon(R.mipmap.ic_launcher);
final String[] sexs = new String[]{"男", "女"};
//设置单选选项
builder.setSingleChoiceItems(sexs, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "您选择了:"+sexs[which], Toast.LENGTH_SHORT).show();
}
});
//添加确定按钮
builder.setPositiveButton("确定", null);
//创建并显示对话框
builder.show();
}
//显示多选对话框
private void showMultiChoiceDialog() {
//创建AlertDialog构造器Builder对象,AlertDialog建议使用android.support.v7.app包下的。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//设置对话框标题
builder.setTitle("请选择传感器");
//设置对话框图标
builder.setIcon(R.mipmap.ic_launcher);
final String[] sensors = new String[]{"温湿度传感器", "光照传感器","CO2传感器","风速传感器"};
//设置多选选项
builder.setMultiChoiceItems(sensors, new boolean[]{false,true,true,false}, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) { }
});
//添加确定按钮
builder.setPositiveButton("确定", null);
//创建并显示对话框
builder.show();
}
//显示自定义对话框
private void showCustomDialog() {
MyDialog dialog = new MyDialog(this);
dialog.setTitle("自定义对话框");
dialog.setContent("你好!这里是自定义对话框!");
dialog.show();
}
}

Android 常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)的更多相关文章

  1. Android自定义组件系列【13】——Android自定义对话框如此简单

    在我们的日常项目中很多地方会用到对话框,但是Android系统为我们提供的对话框样子和我们精心设计的界面很不协调,在这种情况下我们想很自由的定义对话框,或者有的时候我们的对话框是一个图片,没有标题和按 ...

  2. Android Studio常见对话框(普通对话框、单选对话框、多选对话框、进度条对话框、消息对话框、自定义对话框)

    Android Studio常见对话框(普通对话框.单选对话框.多选对话框.进度条对话框.消息对话框.自定义对话框) 1.普通对话框 2.单选对话框 3.多选对话框 4.进度条对话框 5.消息对话框 ...

  3. Android 自定义对话框

    Android实现自定义对话框效果: 核心代码: package com.example.diydialog; import android.os.Bundle; import android.app ...

  4. android继承Dialog实现自定义对话框

    有时需要自定义对话框,可以使用AlterDialog.Bulider,比如下面的代码片段 new AlertDialog.Builder(self) .setTitle("标题") ...

  5. Android开发 ---构建对话框Builder对象,消息提示框、列表对话框、单选提示框、多选提示框、日期/时间对话框、进度条对话框、自定义对话框、投影

    效果图: 1.activity_main.xml 描述: a.定义了一个消息提示框按钮 点击按钮弹出消息 b.定义了一个选择城市的输入框 点击按钮选择城市 c.定义了一个单选提示框按钮 点击按钮选择某 ...

  6. Android开发学习笔记-自定义对话框

    系统默认的对话框只能显示简单的标题内容以及按钮,而如果想要多现实其他内容则就需要自定义对话框,下面是自定义对话框的方法. 1.先定义对话框的模版 <?xml version="1.0& ...

  7. Android—关于自定义对话框的工具类

    开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...

  8. Android中的AlertDialog使用示例五(自定义对话框)

    在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式. ...

  9. Android自定义对话框

    在android中有自带的对话框,为了美观,很多开发者会使用自定义对话框,如下图: 点击“弹出自定义对话框按钮后”显示如图效果. 首先要自己定义一个xml文件定义自己对话框的样式: <?xml ...

随机推荐

  1. Linux学习 - 文件包处理命令

    一.搜索文件find find  [搜索范围]  [匹配条件] (1) -name(名字查找) <1>  find  /etc  -name  init 查找/etc下以 "in ...

  2. show processlist命令详解

    1.show processlist; SHOW PROCESSLIST显示哪些线程正在运行.您也可以使用mysqladmin processlist语句得到此信息.如果您有SUPER权限,您可以看到 ...

  3. C++易错小结

    C++ 11 vector 遍历方法小结 方法零,对C念念不舍的童鞋们习惯的写法: void ShowVec(const vector<int>& valList) { int c ...

  4. 强化学习实战 | 表格型Q-Learning玩井字棋(四)游戏时间

    在 强化学习实战 | 表格型Q-Learning玩井字棋(三)优化,优化 中,我们经过优化和训练,得到了一个还不错的Q表格,这一节我们将用pygame实现一个有人机对战,机机对战和作弊功能的井字棋游戏 ...

  5. SpringCloud技术涵盖简介

    SpringCloud是微服务架构的集大成者,云计算最佳业务实践. 我们平常使用的Spring和他们的关系,对Spring,springboot , SpringCloud 的 概念区分,上图: Sp ...

  6. 隐藏和显示div的两种方法

    方式一 style="visibility: none;" visiblity:visible -------->可见 visiblity:hidden -------> ...

  7. 当动态桌面遇上 HTML5

    DreamScene2 + HTML5 = 无限可能.时隔一周,DreamScene2 动态桌面经过几个小版本的迭代,修复了一些问题并且功能也得到了增强.欢迎 Star 和 Fork https:// ...

  8. 巧用符号链接迁移 HDFS 数据,业务完全无感知!

    问题 JuiceFS 是一个基于对象存储的分布式文件系统,在之前跟对象存储比较的文章中已经介绍了 JuiceFS 能够保证数据的强一致性和极高的读写性能,因此完全可以用来替代 HDFS.但是数据平台整 ...

  9. LuoguP7337 『MdOI R4』Fun 题解

    Content 有 \(n\) 个人去打比赛.给出第 \(i\) 个人的交通方式 \(t_i\) 和颓废值 \(q_i\)(均以 \(0/1\) 表示).如果 \(t_i=1,q_i=1\) 的人数 ...

  10. /etc/resolv.conf文件中的search项作用;如何保持resolv.conf文件内容不被修改

    /etc/resolv.conf文件中的search项作用 resolv.conf文件中有search项时,主机名解析规则顺序: DNS配置文件如下: # cat /etc/resolv.conf ; ...