安卓中弹窗和自定义弹窗

安卓中弹窗和自定义弹窗

在安卓中我们有时候要实现弹窗的功能,实现弹窗有很多种实现的方法,有用系统默认的弹窗弹出窗口,但是有很多时候默认的弹窗满足不了我们,在这里我主要讲解两种自定义弹窗的方法和一种默认弹窗效果。

1、         首先我们来讲解一下默认弹窗是怎么实现的,代码如下:

// 创建builder实例

AlertDialog.Builder builder = new AlertDialog.Builder(context);        builder.setIcon(R.drawable.question_dialog_icon);

            builder.setTitle("提示");

            builder.setMessage("游戏正在进行,你确定要切换么,切换游戏不会被保存的额?");

            // 确定按钮的点击事件

            builder.setPositiveButton(R.string.confirm,

                   newDialogInterface.OnClickListener() {

                      public void onClick(DialogInterfacedialog,

                            int whichButton) {

                         Intentintent = newIntent(JigsawActivity.this,

                               MainActivity.class);

                         // 设置退出程序的标志位

                         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                         startActivity(intent);

                      }

                   });

            // 取消按钮的点击事件

            builder.setNegativeButton("取消",

                   newDialogInterface.OnClickListener() {

                      @Override

                      public void onClick(DialogInterfacedialog,

                            int which) {

                      }

                   });

            builder.create().show();

2、实现一种自定义弹窗的效果,这种弹窗和上面有点类似,代码如下:

// 设置自定义弹窗

            AlertDialog.Builderbuilder;

            AlertDialogalertDialog;

            // 生成一个inflater对象

            LayoutInflaterinflater = LayoutInflater.from(mContext);

// 使用inflater对象根据布局文件生成一个view对象

            Viewlayout = inflater.inflate(R.layout.success, null);

            // 取出控件

            TextViewtxtTextView = (TextView) layout

                   .findViewById(R.id.mddd);

            txtTextView.setText("游戏胜利!");

            builder= newAlertDialog.Builder(mContext);

            builder.setView(layout);

            alertDialog= builder.create();

            alertDialog.show();

3、实现自定义弹窗的效果,这种自定义弹窗是通过继承类来实现的,具体代码如下:

//该类用于实现弹出框的效果,实现自定义的功能

public classkeydialog extendsDialog {

 

   // 用来存放代表对话框当中按钮的对象

   private final View keys[] = new View[9];

   // 存放已经使用过的数字

   private int used[];

   private shuduview shuduview;

 

   // 构造函数第二个参数当中保存着已经用过的数字

   public keydialog(Contextcontext, int[]used, shuduview shuduview) {

      super(context);

      this.used = used;

      this.shuduview = shuduview;

   }

 

   @Override

   protected void onCreate(BundlesavedInstanceState) {

 

      super.onCreate(savedInstanceState);

      // 设置标题

      setTitle("选择数字");

      setContentView(R.layout.key);

      findviews();

      // 遍历整个数组

      for (int i = 0; i < used.length; i++) {

         if (used[i] != 0) {

            keys[used[i] -1].setVisibility(View.INVISIBLE);

         }

      }

      // 为所有的按钮设置监听器

      setlisteners();

   }

 

   // 获取全部按钮

   private void findviews() {

      keys[0] = this.findViewById(R.id.key1);

      keys[1] = this.findViewById(R.id.key2);

      keys[2] = this.findViewById(R.id.key3);

      keys[3] = this.findViewById(R.id.key4);

      keys[4] = this.findViewById(R.id.key5);

      keys[5] = this.findViewById(R.id.key6);

      keys[6] = this.findViewById(R.id.key7);

      keys[7] = this.findViewById(R.id.key8);

      keys[8] = this.findViewById(R.id.key9);

   }

 

   // 通知shuduview对象刷新数据

   private void returnresult(int title) {

      shuduview.setSelectedtitle(title);

      // 取消对话框显示

      dismiss();

   }

 

   // 设置按钮的监听事件

   private void setlisteners() {

      // 遍历整个按钮数组

      for (int i = 0; i < keys.length; i++) {

         final int t = i + 1;

         keys[i].setOnClickListener(new View.OnClickListener() {

            public void onClick(View arg0) {

                returnresult(t);

            }

         });

      }

   }

}

调用上面这种自定义弹窗的方法是:

keydialog keydialog = new keydialog(mContext, usedaleady, this);

keydialog.show();

以上就是这次要实现的弹窗的效果。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值