全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android AlertDialog对话框详解及实例

Android  AlertDialog

关系图如下:

Android主要提供四种对话框:

1:AlertDialog:功能最丰富,实际应用最广的对话框。
2:ProgressDialog:进度条对话框
3:DatePickerDialog:日期选择器对话框
4:TimePickerDialog:时间选择器对话框

创建一个对话框的步骤:

AlertDialog.Builder builder = new AlertDialog.Builder(this)
        // 1:设置对话框标题
        .setTitle("自定义列表项对话框")
            // 2:设置图标
        .setIcon(R.drawable.tools)
            // 3:设置内容
        .setMessage("对话框的测试内容\n第二行内容");
    // 为AlertDialog.Builder添加“确定”按钮
    setPositiveButton(builder);
    // 为AlertDialog.Builder添加“取消”按钮
    setNegativeButton(builder)
        .create()
        .show();

代码区:

main.xml代码区:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:gravity="center_horizontal">
<!-- 显示一个普通的文本编辑框组件 -->
<EditText 
  android:id="@+id/show"
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" 
  android:editable="false"/>
<!-- 定义一个普通的按钮组件 -->
<Button
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" 
  android:text="简单对话框"
  android:onClick="simple"
  />
<!-- 定义一个普通的按钮组件 -->
<Button
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" 
  android:text="简单列表项对话框"
  android:onClick="simpleList"
  /> 
<!-- 定义一个普通的按钮组件 -->
<Button
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" 
  android:text="单选列表项对话框"
  android:onClick="singleChoice"
  /> 
<!-- 定义一个普通的按钮组件 -->
<Button
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" 
  android:text="多选列表项对话框"
  android:onClick="multiChoice"
  /> 
<!-- 定义一个普通的按钮组件 -->
<Button
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" 
  android:text="自定义列表项对话框"
  android:onClick="customList"
  /> 
<!-- 定义一个普通的按钮组件 -->
<Button
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" 
  android:text="自定义View对话框"
  android:onClick="customView"
  />         
</LinearLayout>

Activity代码区:

public class MainActivity extends Activity {
  TextView show;
  String[] items = new String[] {
      "aserbao", "Android",
      " Java",
      "IOS" };

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    show = (TextView) findViewById(R.id.show);
  }

  public void simple(View source)
  {
    AlertDialog.Builder builder = new AlertDialog.Builder(this)
      // 设置对话框标题
      .setTitle("简单对话框")
      // 设置图标
      .setIcon(R.drawable.tools)
      .setMessage("对话框的测试内容\n第二行内容");
    // 为AlertDialog.Builder添加“确定”按钮
    setPositiveButton(builder);
    // 为AlertDialog.Builder添加“取消”按钮
    setNegativeButton(builder)
      .create()
      .show();
  }

  public void simpleList(View source)
  {
    AlertDialog.Builder builder = new AlertDialog.Builder(this)
        // 设置对话框标题
        .setTitle("简单列表对话框")
            // 设置图标
        .setIcon(R.drawable.tools)
            // 设置简单的列表项内容
        .setItems(items, new OnClickListener()
        {
          @Override
          public void onClick(DialogInterface dialog, int which)
          {
            show.setText("你选中了《" + items[which] + "》");
          }
        });
    // 为AlertDialog.Builder添加“确定”按钮
    setPositiveButton(builder);
    // 为AlertDialog.Builder添加“取消”按钮
    setNegativeButton(builder)
        .create()
        .show();
  }

  public void singleChoice(View source)
  {
    AlertDialog.Builder builder = new AlertDialog.Builder(this)
        // 设置对话框标题
        .setTitle("单选列表项对话框")
            // 设置图标
        .setIcon(R.drawable.tools)
            // 设置单选列表项,默认选中第二项(索引为1)
        .setSingleChoiceItems(items, 1, new OnClickListener()
        {
          @Override
          public void onClick(DialogInterface dialog, int which)
          {
            show.setText("你选中了《" + items[which] + "》");
          }
        });
      // 为AlertDialog.Builder添加“确定”按钮
      setPositiveButton(builder);
      // 为AlertDialog.Builder添加“取消”按钮
      setNegativeButton(builder)
        .create()
        .show();
  }

  public void multiChoice(View source)
  {
    AlertDialog.Builder builder = new AlertDialog.Builder(this)
        // 设置对话框标题
        .setTitle("多选列表项对话框")
            // 设置图标
        .setIcon(R.drawable.tools)
            // 设置多选列表项,设置勾选第2项、第4项
        .setMultiChoiceItems(items
            , new boolean[]{false , true ,false ,true}, null);
    // 为AlertDialog.Builder添加“确定”按钮
    setPositiveButton(builder);
    // 为AlertDialog.Builder添加“取消”按钮
    setNegativeButton(builder)
        .create()
        .show();
  }

  public void customList(View source)
  {
    AlertDialog.Builder builder = new AlertDialog.Builder(this)
        // 设置对话框标题
        .setTitle("自定义列表项对话框")
            // 设置图标
        .setIcon(R.drawable.tools)
            // 设置自定义列表项
        .setAdapter(new ArrayAdapter<String>(this
            , R.layout.array_item
            , items), null);
    // 为AlertDialog.Builder添加“确定”按钮
    setPositiveButton(builder);
    // 为AlertDialog.Builder添加“取消”按钮
    setNegativeButton(builder)
        .create()
        .show();
  }

  public void customView(View source)
  {
    // 装载app\src\main\res\layout\login.xml界面布局文件
    TableLayout loginForm = (TableLayout)getLayoutInflater()
        .inflate( R.layout.login, null);
    new AlertDialog.Builder(this)
        // 设置对话框的图标
        .setIcon(R.drawable.tools)
        // 设置对话框的标题
        .setTitle("自定义View对话框")
        // 设置对话框显示的View对象
        .setView(loginForm)
        // 为对话框设置一个“确定”按钮
        .setPositiveButton("登录", new OnClickListener() {
          @Override
          public void onClick(DialogInterface dialog,
            int which) {
            // 此处可执行登录处理
          }
        })
        // 为对话框设置一个“取消”按钮
        .setNegativeButton("取消", new OnClickListener()
        {
          @Override
          public void onClick(DialogInterface dialog,
                    int which)
          {
            // 取消登录,不做任何事情
          }
        })
        // 创建并显示对话框
        .create()
        .show();
  }


  private AlertDialog.Builder setPositiveButton(
      AlertDialog.Builder builder)
  {
    // 调用setPositiveButton方法添加“确定”按钮
    return builder.setPositiveButton("确定", new OnClickListener()
    {
      @Override
      public void onClick(DialogInterface dialog, int which)
      {
        show.setText("单击了【确定】按钮!");
      }
    });
  }
  private AlertDialog.Builder setNegativeButton(
      AlertDialog.Builder builder)
  {
    // 调用setNegativeButton方法添加“取消”按钮
    return builder.setNegativeButton("取消", new OnClickListener()
    {
      @Override
      public void onClick(DialogInterface dialog, int which)
      {
        show.setText("单击了【取消】按钮!");
      }
    });
  }
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # AlertDialog对话框  # AlertDialog对话框实例详解  # AlertDialog  # Android实现点击AlertDialog上按钮时不关闭对话框的方法  # Android修改源码解决Alertdialog触摸对话框边缘消失的问题  # Android中AlertDialog各种对话框的用法实例详解  # ANDROID中自定义对话框AlertDialog使用示例  # 简析Android多种AlertDialog对话框效果  # Android AlertDialog对话框用法示例  # Android AlertDialog实现分享对话框/退出对话框/下载对话框  # Android中AlertDialog 点击按钮后不关闭对话框的功能  # Android Alertdialog(实现警告对话框)  # Android常用的AlertDialog对话框及自定义对话框  # Android使用AlertDialog实现对话框  # Android编程实现AlertDialog自定义弹出对话框的方法示例  # 对话框  # 自定义  # 一个普通  # 多选  # 单选  # 单击  # 选择器  # 希望能  # 不做  # 四种  # 谢谢大家  # 创建一个  # 可执行  # 实际应用  # 勾选  # 最广  # 最丰富  # 进度条  # apk  # schemas 


相关文章: 高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  ,巨量百应是干嘛的?  如何通过西部数码建站助手快速创建专业网站?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  如何选择最佳自助建站系统?快速指南解析优劣  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  Bpmn 2.0的XML文件怎么画流程图  如何在IIS7上新建站点并设置安全权限?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  网站制作公司排行榜,抖音怎样做个人官方网站  如何快速重置建站主机并恢复默认配置?  定制建站哪家更专业可靠?推荐榜单揭晓  岳西云建站教程与模板下载_一站式快速建站系统操作指南  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何选择域名并搭建高效网站?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  如何在云服务器上快速搭建个人网站?  建站之星云端配置指南:模板选择与SEO优化一键生成  小型网站建站如何选择虚拟主机?  如何有效防御Web建站篡改攻击?  建站之星后台密码如何安全设置与找回?  大型企业网站制作流程,做网站需要注册公司吗?  如何通过FTP服务器快速搭建网站?  如何用已有域名快速搭建网站?  如何在阿里云通过域名搭建网站?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  如何通过VPS搭建网站快速盈利?  定制建站流程步骤详解:一站式方案设计与开发指南  已有域名建站全流程解析:网站搭建步骤与建站工具选择  如何快速搭建个人网站并优化SEO?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  电商平台网站制作流程,电商网站如何制作?  建站之星代理如何优化在线客服效率?  定制建站是什么?如何实现个性化需求?  *服务器网站为何频现安全漏洞?  如何选择高效可靠的多用户建站源码资源?  英语简历制作免费网站推荐,如何将简历翻译成英文?  网站制作免费,什么网站能看正片电影?  python的本地网站制作,如何创建本地站点?  如何快速使用云服务器搭建个人网站?  建站之星2.7模板快速切换与批量管理功能操作指南  如何在Tomcat中配置并部署网站项目?  如何在香港服务器上快速搭建免备案网站?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  如何用狗爹虚拟主机快速搭建网站?  如何通过可视化优化提升建站效果?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。