建立DialogActivity.java文件:

  1 public class DialogActivity extends AppCompatActivity {
2 private Button BtnDialog1,BtnDialog2,BtnDialog3,BtnDialog4,BtnDialog5;
3 @Override
4 protected void onCreate(Bundle savedInstanceState) {
5 super.onCreate(savedInstanceState);
6 setContentView(R.layout.activity_dialog);
7 BtnDialog1=findViewById(R.id.btn_dialog1);
8 BtnDialog2=findViewById(R.id.btn_dialog2);
9 BtnDialog3=findViewById(R.id.btn_dialog3);
10 BtnDialog4=findViewById(R.id.btn_dialog4);
11 BtnDialog5=findViewById(R.id.btn_dialog5);
12 OnClick onClick=new OnClick();
13 BtnDialog1.setOnClickListener(onClick);
14 BtnDialog2.setOnClickListener(onClick);
15 BtnDialog3.setOnClickListener(onClick);
16 BtnDialog4.setOnClickListener(onClick);
17 BtnDialog5.setOnClickListener(onClick);
18 }
19
20 class OnClick implements View.OnClickListener{
21 @Override
22 public void onClick(View view) {
23 switch(view.getId()){
24 case R.id.btn_dialog1:
25 AlertDialog.Builder builder=new AlertDialog.Builder(DialogActivity.this);
26 builder.setTitle("请问:").setMessage("天哥的课程怎么样?")
27 .setIcon(R.drawable.zhanghao)//加图标
28 .setPositiveButton("不错", new DialogInterface.OnClickListener() {
29 @Override
30 public void onClick(DialogInterface dialogInterface, int i) {
31 //ToastUtil.showMsg(DialogActivity.this,"诚实的很");
32 Toast.makeText(DialogActivity.this, "有眼光", Toast.LENGTH_SHORT).show();
33 }
34 }).setNeutralButton("一般", new DialogInterface.OnClickListener() {
35 @Override
36 public void onClick(DialogInterface dialogInterface, int i) {
37 Toast.makeText(DialogActivity.this, "要不再看看?", Toast.LENGTH_SHORT).show();
38 }
39 }).setNegativeButton("不好", new DialogInterface.OnClickListener() {
40 @Override
41 public void onClick(DialogInterface dialogInterface, int i) {
42 Toast.makeText(DialogActivity.this, "请注意言辞", Toast.LENGTH_SHORT).show();
43 }
44 }).show();//默认样式
45 break;
46 case R.id.btn_dialog2:
47 String[] array2=new String[]{"女","男"};
48 AlertDialog.Builder builder2=new AlertDialog.Builder(DialogActivity.this);
49 builder2.setTitle("您的性别是:").setItems(array2, new DialogInterface.OnClickListener() {
50 @Override
51 public void onClick(DialogInterface dialogInterface, int i) {
52 Toast.makeText(DialogActivity.this, array2[i], Toast.LENGTH_SHORT).show();
53 }
54 }).show();
55 break;
56 case R.id.btn_dialog3:
57 String[] array3=new String[]{"女","男"};
58 AlertDialog.Builder builder3=new AlertDialog.Builder(DialogActivity.this);
59 builder3.setTitle("您的性别是:").setSingleChoiceItems(array3, 0, new DialogInterface.OnClickListener() {
60 //其中0是默认选择的位置
61 @Override
62 public void onClick(DialogInterface dialogInterface, int i) {
63 Toast.makeText(DialogActivity.this, array3[i], Toast.LENGTH_SHORT).show();
64 dialogInterface.dismiss();//设置了这个点击选项后就会消失
65 }
66 }).setCancelable(false).show();//单选框样式,.setCancelable(false)这个点其他任何位置警示框都不会消失
67 break;
68 case R.id.btn_dialog4:
69 String[] array4=new String[]{"抽烟","喝酒","烫头"};
70 boolean[] isSelected=new boolean[]{false,true,true};//默认选中哪个哪个就是true
71 AlertDialog.Builder builder4=new AlertDialog.Builder(DialogActivity.this);
72 builder4.setTitle("您的兴趣是:").setMultiChoiceItems(array4, isSelected, new DialogInterface.OnMultiChoiceClickListener() {
73 @Override
74 public void onClick(DialogInterface dialogInterface, int i, boolean b) {
75 Toast.makeText(DialogActivity.this, array4[i]+":"+b, Toast.LENGTH_SHORT).show();
76 }
77 }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
78 @Override
79 public void onClick(DialogInterface dialogInterface, int i) {
80 //没有点击事件
81 }
82 }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
83 @Override
84 public void onClick(DialogInterface dialogInterface, int i) {
85 //没有点击事件
86 }
87 }).show();//多选框
88 break;
89 case R.id.btn_dialog5:
90 AlertDialog.Builder builder5=new AlertDialog.Builder(DialogActivity.this);
91 View view1=LayoutInflater.from(DialogActivity.this).inflate(R.layout.layout_dialog,null);
92 EditText etUsername=view1.findViewById(R.id.et_username);
93 EditText stPassword=view1.findViewById(R.id.et_password);
94 Button btnLogin=view1.findViewById(R.id.btn_login);
95 btnLogin.setOnClickListener(new View.OnClickListener() {
96 @Override
97 public void onClick(View view) {
98 //没有点击事件
99 }
100 });
101 builder5.setTitle("请先进行登录").setView(view1).show();//自定义警示框
102 break;
103 }
104 }
105 }
106 }

对应的activity_dialog.xml文件:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 android:layout_width="match_parent"
3 android:layout_height="match_parent"
4 android:orientation="vertical">
5 <Button
6 android:id="@+id/btn_dialog1"
7 android:layout_width="match_parent"
8 android:layout_height="wrap_content"
9 android:text="style1"
10 android:textAllCaps="false"/>
11 <Button
12 android:id="@+id/btn_dialog2"
13 android:layout_width="match_parent"
14 android:layout_height="wrap_content"
15 android:text="style2"
16 android:textAllCaps="false"/>
17 <Button
18 android:id="@+id/btn_dialog3"
19 android:layout_width="match_parent"
20 android:layout_height="wrap_content"
21 android:text="style3"
22 android:textAllCaps="false"/>
23 <Button
24 android:id="@+id/btn_dialog4"
25 android:layout_width="match_parent"
26 android:layout_height="wrap_content"
27 android:text="style4"
28 android:textAllCaps="false"/>
29 <Button
30 android:id="@+id/btn_dialog5"
31 android:layout_width="match_parent"
32 android:layout_height="wrap_content"
33 android:text="style5"
34 android:textAllCaps="false"/>
35 </LinearLayout>

还有设置样式的layout_dialog.xml文件:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 android:layout_width="match_parent"
3 android:layout_height="match_parent"
4 android:orientation="vertical"
5 android:padding="20dp">
6 <EditText
7 android:id="@+id/et_username"
8 android:layout_width="match_parent"
9 android:layout_height="wrap_content"
10 android:hint="username"
11 android:maxLines="1"/>
12 <EditText
13 android:id="@+id/et_password"
14 android:layout_width="match_parent"
15 android:layout_height="wrap_content"
16 android:hint="password"
17 android:inputType="textPassword"
18 android:maxLines="1"
19 android:layout_marginTop="10dp"/>
20 <Button
21 android:id="@+id/btn_login"
22 android:layout_width="match_parent"
23 android:layout_height="wrap_content"
24 android:text="login"
25 android:textAllCaps="false"
26 android:layout_marginTop="10dp"/>
27 </LinearLayout>

AlertDialog的五种样式的更多相关文章

  1. 5种样式实现div容器中三图摆放实例对比说明

    代码地址如下:http://www.demodashi.com/demo/11593.html 效果演示: demo点查看效果 需求说明: 如下图所示为设计图,希望在图片上传无规则无规律的情况下实现设 ...

  2. html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式

    先上代码   <script type="text/javascript" language="javascript">   var idTmr; ...

  3. CSS 四种样式表 六种规则选择器 五种常用样式属性

    新的html程序要在VS中编写了,在vs中安装ASP.NET和Web开发,并用ASP.NET Web 应用程序(.NETFramework)创建一个网页程序.添加一个html页 后面的代码都是在htm ...

  4. Android经常使用的五种弹出对话框

    一个Android开发中经常使用对话框的小样例,共同拥有五种对话框:普通弹出对话框,单选对话框,多选对话框,输入对话框及进度条样式对话框: <LinearLayout xmlns:android ...

  5. 提高CSS文件可维护性的五种方法

    当完成一项前端的工作之后,许多人都会忘记该项目的结构与细节.然而代码并不是马上就能完全定型,在余下的时间里还有不断的维护工作,而这些工作也许不会是你自己完成.所以,结构优良的代码能很大程度上优化它的可 ...

  6. socket编程五种模型

    客户端:创建套接字,连接服务器,然后不停的发送和接收数据. 比较容易想到的一种服务器模型就是采用一个主线程,负责监听客户端的连接请求,当接收到某个客户端的连接请求后,创建一个专门用于和该客户端通信的套 ...

  7. Android特效 五种Toast详解

    Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失.而且Toast主要用于向用户显示提示消 ...

  8. android五种布局模式

    Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:LinearLayout (线性布局),FrameLayout(框架布局),AbsoluteLayout(绝对 ...

  9. CSS-三栏响应式布局(左右固宽,中间自适应)的五种方法

    代码: <!-- 1 float --> <h3 class="block">第一种方法-float</h3> <div class=&q ...

随机推荐

  1. 返回值String表示视图

    第一种:处理器方法返回String--表示逻辑视图名称(需配置视图解析器) 视图解析器: MyController类中: index.jsp中: 第二种:处理器方法方慧String,表示完整视图路径, ...

  2. Servlet-斜杠在web中不同意义

    Servlet-斜杠在web中不同意义 在web中 / 斜杠是一种绝对路径 / 斜杠 如果被浏览器解析,得到的地址是:http://ip/port/ / 斜杠 如果被服务器解析,得到的地址是:http ...

  3. 使用Xamarin开发移动应用示例——数独游戏(二)创建游戏界面

    在本系列第一部分,我们创建了程序框架,现在我们创建游戏的界面,项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 首先在View ...

  4. python采用json.dump和json.load存储数据

    #!/usr/bin/python # -*- coding: UTF-8 -*- import json numbers = [2,3,4,7,11,13] filename = 'numbers. ...

  5. Ubuntu18.04 显卡驱动安装(解决各种疑难杂症)

    步骤 下载驱动 准备工作 进行安装 检查安装 下载驱动 首先我们需要去官网下载显卡驱动 打开浏览器,在百度搜索框中搜索:显卡驱动 下载 在手动搜索驱动程序一栏,根据自己的显卡进行选择 产品系列中,No ...

  6. NOI Online 2021 入门组 T1

    Description 题目描述 Alice.Bob 和 Cindy 三个好朋友得到了一个圆形蛋糕,他们打算分享这个蛋糕. 三个人的需求量分别为 \(a, b, c\),现在请你帮他们切蛋糕,规则如下 ...

  7. 初步认识微前端(single-spa 和 qiankun)

    初步认识微前端 微前端是什么 现在的前端应用,功能.交互日益复杂,若只由一个团队负责,随着时间的推进,会越来越庞大,愈发难以维护. 微前端这个名词,第一次提出是在2016年底.它将微服务(将单一应用程 ...

  8. ApacheCN PythonWeb 译文集 20211028 更新

    Django By Example 中文版 1 创建一个博客应用 2 为博客添加高级功能 3 扩展你的博客应用 4 创建一个社交网站 5 分享内容到你的网站 6 跟踪用户动作 7 构建在线商店 8 管 ...

  9. salesforce零基础学习(一百一十一)custom metadata type数据获取方式更新

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.234.0.apexref.meta/apexref/apex_methods_syst ...

  10. C 数组排序后输出至文件

    如题 C实现 #include<stdio.h> #define COUNT 9 //数组长度+1 #define FILE_NAME "data.txt" //文件名 ...