ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

AlertDialog的五种样式

2022-02-04 13:01:33  阅读:182  来源: 互联网

标签:Toast DialogActivity 样式 DialogInterface AlertDialog 五种 onClick new id


建立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>

 

标签:Toast,DialogActivity,样式,DialogInterface,AlertDialog,五种,onClick,new,id
来源: https://www.cnblogs.com/konglong-cm/p/15862691.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有