AlertDialo的使用(具体参照官方文档)
1、调用AlertDialog的静态内部类Builder创建AlertDialog.Builder的对象。
2、调用AlertDialog.Builder的setTitle()和setIcon()方法分别设置AlertDialog对话框的标题名称和图标。
3、调用AlertDialog.Builder的setMessage()、setSingleChoiceItems()或者setMultiChoiceItems()方法设置AlertDialog对话框的内容为简单文本、单选列表或者为多选列表。
4、调用AlertDialog.Builder的setPositiveButton()和setNegativeButton()方法设置AlertDialog对话框的确定和取消按钮。
5、调用AlertDialog.Builder的create()方法创建AlertDialog对象。
6、调用AlertDialog对象的show()方法显示该对话框。
7、调用AlertDialog对象的dismiss()方法取消该对话框。
普通对话框+单选对话框+多选对话框+自定义对话框小实例
package haue.edu.dialog_test;import androidx.appcompat.app.AppCompatActivity;import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}
//当退出当前页面时显示对话框@Overridepublic void onBackPressed() {//super.onBackPressed();
// AlertDialog dialog;
// AlertDialog.Builder builder=new AlertDialog.Builder(this);
// builder.setTitle("通知!");
// builder.setIcon(R.mipmap.ic_launcher);
// builder.setMessage("就要退出了");
// builder.setPositiveButton("去意已决", new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// dialog.dismiss();
// MainActivity.this.finish();//关闭页面
// }
// });
// builder.setNegativeButton("再想想", new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// dialog.dismiss();
// }
// });
// dialog=builder.create();
// dialog.show();//第二种方法AlertDialog dialog;AlertDialog.Builder builder=new AlertDialog.Builder(this).setTitle("警告").setIcon(R.mipmap.ic_launcher).setNegativeButton("考虑一下", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}}).setPositiveButton("去意已决", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {MainActivity.this.finish();}});dialog=builder.create();dialog.show();//设置按钮文本颜色dialog.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(Color.GREEN);dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(Color.CYAN);}
}
---------------------------------------------------------------------------------
//单选对话框(字体大小)
public void sizechange(View view) {final int[] size={10,30,50};//保存用户选择的是几号字体值是数组的下标text_size = 1;AlertDialog dialog;AlertDialog.Builder builder=new AlertDialog.Builder(this).setTitle("请选择字号").setIcon(R.mipmap.ic_launcher).setSingleChoiceItems(new String[]{"小号", "中号", "大号"}, 1, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) { //which是下标text_size=which;}}).setPositiveButton("ok", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();tv_infor.setTextSize(size[text_size]);}}).setNegativeButton("candle", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});dialog=builder.create();dialog.show();}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//多选对话框
//弹出多选对话框public void select_hobby(View view) {final String[] hobby={"reading","singing","sleeping"};final boolean[]checked={false,false,false};AlertDialog dialog;AlertDialog.Builder builder=new AlertDialog.Builder(this).setTitle("请选择爱好").setIcon(R.mipmap.ic_launcher).setMultiChoiceItems(hobby, checked, new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {checked[which]=isChecked;//将第which个选项的状态设置为isChecked}}).setPositiveButton("ok", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();String result="";//用户最终的选择,初始化为空for(int i=0;i<checked.length;i++){if(checked[i]){result+=hobby[i]+" ";}}tv_infor.setText(result);}}).setNegativeButton("cancle", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});dialog=builder.create();dialog.show();}
可能会用到的方法:onBackpressed()
finish()方法
dialog.getButton()可以改变dialog中的按钮的颜色
AlertDialo的使用(具体参照官方文档)相关推荐
- 基于docker安装部署Zabbix及使用,自动发现、日志监控报警及参照官方文档遇到的问题(图文)
目录 一.相关原理 (1)概述 (2)Zabbix 功能 (3)Zabbix 概述 (4)zabbix监控架构详解 二.主要步骤 (一)工具/环境准备 (二)docker安装及测试 (三)docker ...
- Ant Design 入门-参照官方文档使用组件
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. 先来一个按钮组件使用的对比,官方文档的(不能直接用)和实际能用的. 官网demo: import { Tabl ...
- Element-UI 要怎么学?官方文档!
Element UI Element UI 介绍 安装 Element UI Element UI 组件使用 Basic 组件 Button 按钮 Link 文字链接 Layout 布局 Contai ...
- linux3.10.53编译,根据官方文档在Linux下编译安装Apache
根据官方文档在Linux下编译安装Apache 前言 永远记住官方文档才是最准确的安装手册,这篇文章仅为对官方文档的解读和补充,学习提升务必阅读官方文档: http://httpd.apache.or ...
- Windows环境下安装RabbitMQ(官方文档中文版)
安装RabbitMQ 软件提取 链接:https://pan.baidu.com/s/1bIqTqEf7b8bcGZ6_jSIccg 提取码:nnju 本文按照官方文档按步骤详细解读,废话不多说,下 ...
- 最新Elasticsearch8.4.3 + Kibana8.4.3在云服务器Centos7.9安装部署(参考官方文档)
一.前言 最近笔者学习Elasticsearch,官方最新稳定版为 Elasticsearch-8.4.3,想在云服务器上Centos7.9搭建.搭建之路坑多路少啊(指网上的博文教程五花八门,基本 ...
- k8s多master建议用几个_Kubernetes 教程之跟着官方文档从零搭建 K8S
前言 本文将带领读者一起, 参照者 Kubernetes 官方文档, 对其安装部署进行讲解. Kubernetes 更新迭代很快, 书上.网上等教程可能并不能适用于新版本, 但官方文档能. 阅读这篇文 ...
- 来自官方文档的Ubuntu 16.04 + tensorflow-GPU 配置
I Preprare for CUDA installation 官方文档:http://docs.nvidia.com/cuda/cuda-installation-guide-linux/ind ...
- AsyncDisplayKit官方文档个人翻译
迁移老文章到掘金 文档比较老了,不适用最新的2.0 AsyncDisplayKit 官方文档 最近在拆解学习AsyncDisplayKit这个很知名的轮子,发现这个轮子内容还是非常庞大的,想要分解学习 ...
最新文章
- 多线程:为什么不能override start方法
- 使用 css/less 动态更换主题色(换肤功能)
- Java 中日期的几种常见操作 —— 取值、转换、加减、比较
- jdk 1.8 concurrenthashmap扩容原理
- 图灵机器人-Java/Android
- 机器学习处理信号分离_[学习笔记]使用机器学习和深度学习处理信号基础知识...
- Python如何发布程序
- getFilterFromRunTimeService - what is the trigger point of data load
- 代码环复杂度的计算公式
- 【蓝桥杯官网试题 - 基础练习】 矩形面积交 (几何)
- vue连线 插件_一起写一个即插即用的 Vue Loading 插件
- 北大青鸟汉字注释机内码_delphi取汉字的机内码、UniCode码
- 基于SPSS的聚类分析原理概述
- python整数范围_python整数范围
- 使用hexo+github搭建免费个人博客详细教程
- pci-e服务器显卡性能,旗舰显卡不同PCI-E模式下性能对比测试
- Win11无法识别以太网怎么办?Win11以太网未识别网络的解决方法
- 码码在线考勤系统笔记(三)
- 基于JAVA学术会议信息网站计算机毕业设计源码+系统+数据库+lw文档+部署
- iOS app url scheme跳转到淘宝商品详情页 唤醒app
热门文章
- 个性化推荐系统之用户画像研究笔记
- Flink 版本数据湖(hudi)实时数仓---flinkcdc hudi kafak hive
- 网站选择按钮点击无反应?_实用图片素材网站推荐,高清、免费、无版权!
- linux改变终端字体颜色,Linux-自我定义设置终端界面的字体颜色
- 官方正版制作Win10U盘启动攻略
- 在微软的Word中使用输入法打字,发现文字候选框在右上角,这种情况可能需要点击一下键盘上的Insert按键
- php怎么制作虚线表格,excel虚线怎么去掉打印在一页
- 星起航:抖音小店如何找优质同行店铺
- 各大门户手机端页面是怎么切得
- python时间索引_python+dataframe + 时间索引