• 11.Android之常用对话框AlertDialog学习


    (1)首先我们写个简单的AlertDialog对话框,要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法,然后创建对话框可以设置对话框的属性,比如设置标题、图标、内容等等。

    修改下MainActivity.java方法(Android Studio工具下):

     1 package com.example.administrator.dialog1;
     2 
     3 import android.app.Activity;
     4 import android.os.Bundle;
     5 import android.app.AlertDialog.Builder;
     6 import android.app.AlertDialog;
     7 
     8 public class MainActivity extends Activity {
     9 
    10     @Override
    11     protected void onCreate(Bundle savedInstanceState) {
    12         super.onCreate(savedInstanceState);
    13         setContentView(R.layout.activity_main);
    14 
    15         //要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法
    16         Builder alertdialog = new AlertDialog.Builder(this);
    17         alertdialog.setTitle("简单对话框");                            //设置标题
    18         alertdialog.setMessage("从前有个人,他很冷,最后他冷死了。");     //设置内容
    19         alertdialog.setIcon(R.mipmap.ic_launcher);                  //设置图标
    20         alertdialog.create();
    21         alertdialog.show();
    22     }
    23 
    24 
    25 }

    运行效果:

    (2) 接下来我们来设置带按钮的AlertDialog,代码如下:

     1 package com.example.administrator.dialog1;
     2 
     3 import android.app.Activity;
     4 import android.os.Bundle;
     5 import android.app.AlertDialog.Builder;
     6 import android.app.AlertDialog;
     7 import android.content.DialogInterface;
     8 
     9 public class MainActivity extends Activity {
    10 
    11     @Override
    12     protected void onCreate(Bundle savedInstanceState) {
    13         super.onCreate(savedInstanceState);
    14         setContentView(R.layout.activity_main);
    15 //
    16 //        //要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法
    17 //        Builder alertdialog = new AlertDialog.Builder(this);
    18 //        alertdialog.setTitle("简单对话框");                            //设置标题
    19 //        alertdialog.setMessage("从前有个人,他很冷,最后他冷死了。");     //设置内容
    20 //        alertdialog.setIcon(R.mipmap.ic_launcher);                  //设置图标
    21 //        alertdialog.create();
    22 //        alertdialog.show();
    23 
    24         Builder dialog = new AlertDialog.Builder(this);
    25         dialog.setTitle("确定删除?");
    26         dialog.setMessage("您确定删除该条信息吗?");
    27         dialog.setIcon(R.mipmap.ic_launcher);
    28 
    29         //为“取消”按钮注册监听事件
    30         dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
    31             @Override
    32             public void onClick(DialogInterface dialog, int which) {
    33                 //...
    34             }
    35         });
    36 
    37         //为“查看详情”按钮注册监听事件
    38         dialog.setNeutralButton("查看详情", new DialogInterface.OnClickListener() {
    39             @Override
    40             public void onClick(DialogInterface dialog, int which) {
    41                 //...
    42             }
    43         });
    44 
    45         //为“确定”按钮注册监听事件
    46         dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    47             @Override
    48             public void onClick(DialogInterface dialog, int which) {
    49                 //...
    50             }
    51         });
    52         
    53         dialog.create();
    54         dialog.show();
    55     }
    56 
    57 
    58 }

    运行效果:

     说明:setPositiveButton(),setNegativeButton(),setNeutralButton()方法分别用来设置确定按钮、取消按钮、中间按钮的一些属性,在Android2.3 以下平台中,三按钮的位置是相对固定的,分别置于最左侧,最右侧和居中,但在Android4.0以上平台下,setPositiveButton和setNegativeButton位置恰恰相反,分别置于最右侧和最左侧。

    (3)带有单选按钮或者复选按钮的AlertDialog对话框

    直接上代码:

     1 package com.example.administrator.dialog1;
     2 
     3 import android.app.Activity;
     4 import android.os.Bundle;
     5 import android.app.Dialog;
     6 import android.app.AlertDialog.Builder;
     7 import android.app.AlertDialog;
     8 import android.content.DialogInterface;
     9 import android.widget.Toast;
    10 
    11 public class MainActivity extends Activity {
    12 
    13     private int selectedCityIndex = 0;
    14 
    15     @Override
    16     protected void onCreate(Bundle savedInstanceState) {
    17         super.onCreate(savedInstanceState);
    18         setContentView(R.layout.activity_main);
    19 
    20         //定义城市数组
    21         final String[] arrayCity = new String[] { "北京", "上海", "广州", "深圳" };
    22 
    23         //实例化AlertDialog对话框
    24         Dialog alertDialog = new AlertDialog.Builder(this)
    25                 .setTitle("你最喜欢哪个地方?")                 //设置标题
    26                 .setIcon(R.mipmap.ic_launcher)                //设置图标
    27                 // 设置对话框显示一个单选List,指定默认选中项,同时设置监听事件处理
    28                 .setSingleChoiceItems(arrayCity, 0, new DialogInterface.OnClickListener() {
    29 
    30                     @Override
    31                     public void onClick(DialogInterface dialog, int which) {
    32                         selectedCityIndex = which;               //选中项的索引保存到选中项变量
    33                     }
    34                 })
    35                         //添加取消按钮并增加监听处理
    36                 .setNegativeButton("取消", new DialogInterface.OnClickListener() {
    37                     @Override
    38                     public void onClick(DialogInterface dialog, int which) {
    39                         // TODO Auto-generated method stub
    40                     }
    41                 })
    42                         //添加确定按钮并增加监听处理
    43                 .setPositiveButton("确认", new DialogInterface.OnClickListener() {
    44                     @Override
    45                     public void onClick(DialogInterface dialog, int which) {
    46                         Toast.makeText(getApplication(), arrayCity[selectedCityIndex], Toast.LENGTH_SHORT).show();
    47                     }
    48                 })
    49                 .create();
    50         alertDialog.show();
    51     }
    52 
    53 }

    说明:setSingleChoiceItems(CharSequence[] items, int checkedItem,final OnClickListener listener)方法来实现类似ListView的AlertDialog,第一个参数是要显示的数据的数组,第二个参数指定默认选中项,第三个参数设置监听处理事件。

    运行效果:

         

  • 相关阅读:
    node-log4js3.0.6配置
    MySQL命令学习
    64位 windows10,MYSQL8.0.13重置密码(忘记密码或者无法登录)
    64位 windows10,安装配置MYSQL8.0.13
    vscode切换界面布局
    一个网站同时监听两个端口
    javascript +new Date()
    es6 解构
    react列表数据显示
    访问禁止,检测到可疑访问,事件编号
  • 原文地址:https://www.cnblogs.com/benchao/p/5077832.html
Copyright © 2020-2023  润新知