Dialog对话框

Dialog对话框

这个内容比较简单,所以就没用很多的文字解释,直接看代码

这是我们要讲的展示的所有东西:

首先我们来展示一些吐丝:有上诉4种:(这里的代码省略了基本的内容,只显示具体功能的代码)

//吐丝
        bt1.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                 Toast toast = Toast.makeText(MainActivity.this, "吐丝", Toast.LENGTH_SHORT);
                 toast.show();
            }
        });    

//居中吐丝
        bt2.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Toast toast = Toast.makeText(MainActivity.this, "吐丝", Toast.LENGTH_SHORT);
                /**
                 * toast.setGravity(int gravity, int xOffset, int yOffset)
                 * gravity:初始位置
                 * xOffset X轴的偏移量,+向右,-向左
                 * yOffset Y轴的偏移量,+向下,-向上
                 */
                toast.setGravity(Gravity.CENTER, 0, 0);
                toast.show();
            }
        });

//图片吐丝
        bt3.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Toast toast = Toast.makeText(MainActivity.this, "吐丝", Toast.LENGTH_SHORT);
                LinearLayout toast_layout = (LinearLayout)toast.getView();//得到toast的view(里面有吐丝两个字)
                ImageView iv = new ImageView(MainActivity.this);
                iv.setImageResource(R.drawable.ic_launcher);
                toast_layout.addView(iv);//往toast的view里面添加一个图片,因为toast是linerLayout类型,所以加在了下面
                toast.show();
            }
        });

 //自定义吐丝
        bt4.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Toast toast = new Toast(MainActivity.this);
                //将布局变成view对象
                LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
                View view = inflater.inflate(R.layout.diy, null);
                toast.setView(view);//调用toast的setView方法就能将view替换toast的样子
                toast.show();
            }
        });

接下来我们来展示一些对话框:

总的来说对话框是构建一个AlertDialog.Builder对象

这个对象是用来创建对话框的,通过把标题,图片,样式都传入给AlertDialog.Builder对象,

然后通过AlertDialog.Builder对象的create()方法返回一个AlertDialog对象,最后展示在页面上

AlertDialog.Builder对象的具体方法:

Bt1.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("确认对话框");
                builder.setIcon(R.drawable.ic_launcher);
                builder.setMessage("对话框显示的内容");
                builder.setPositiveButton("取消", new android.content.DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Toast toast = Toast.makeText(MainActivity.this, "取消被点拉", Toast.LENGTH_SHORT);
                         toast.show();
                    }
                });
                builder.setNegativeButton("确认", new android.content.DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Toast toast = Toast.makeText(MainActivity.this, "确认被点拉", Toast.LENGTH_SHORT);
                         toast.show();
                    }
                });
                AlertDialog dialog = builder.create();
                dialog.show();
            }
        });

Bt2.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("单选对话框");
                builder.setIcon(R.drawable.ic_launcher);
                /**
                 * builder.setSingleChoiceItems(String[] items, int checkedItem, listener);
                 * items:单选框的选项        这一参数除了可以是字符串,还可以是游标,适配器内的东西
                 * chekedItem:默认被选中的选项
                 */
                builder.setSingleChoiceItems(s, 0, new DialogInterface.OnClickListener() {
                    //int which:被选中的
                    public void onClick(DialogInterface dialog, int which) {
                        Toast toast = Toast.makeText(MainActivity.this, s[which]+"被选拉", Toast.LENGTH_SHORT);
                         toast.show();
                    }
                });
                AlertDialog dialog = builder.create();
                dialog.show();
            }
        });

Bt3.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("多选对话框");
                builder.setIcon(R.drawable.ic_launcher);
                /**
                 * builder.setMultiChoiceItems(String items, boolean[] checkedItems, listener)
                 * items:多选框的选项    这一参数除了可以是字符串,还可以是游标,适配器内的东西
                 * chekedItem:是否被选中
                 */
                builder.setMultiChoiceItems(s2, null, new OnMultiChoiceClickListener() {
                    //int which:被选中的         isChecked:true(没选的被选了)false(选了又取消了)
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        if(isChecked){
                            Toast toast = Toast.makeText(MainActivity.this, s2[which]+"被选拉", Toast.LENGTH_SHORT);
                             toast.show();
                        }else{
                            Toast toast = Toast.makeText(MainActivity.this, s2[which]+"没被选拉", Toast.LENGTH_SHORT);
                             toast.show();
                        }
                    }
                });
                AlertDialog dialog = builder.create();
                dialog.show();;
            }
        });

Bt4.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("列表对话框");
                builder.setIcon(R.drawable.ic_launcher);
                builder.setItems(s2, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Toast toast = Toast.makeText(MainActivity.this, s2[which]+"被点拉", Toast.LENGTH_SHORT);
                         toast.show();
                    }
                });
                AlertDialog dialog = builder.create();
                dialog.show();
            }
        });

Bt5.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("自定义对话框");
                builder.setIcon(R.drawable.ic_launcher);
                LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
                View view = inflater.inflate(R.layout.diy, null);
                builder.setView(view);
                AlertDialog dialog = builder.create();
                dialog.show();
                bt = (Button)view.findViewById(R.id.bb);
                bt.setOnClickListener(new OnClickListener() {
                    public void onClick(View v) {
                        Toast toast = Toast.makeText(MainActivity.this, "被发送了", Toast.LENGTH_SHORT);
                         toast.show();
                    }
                });
            }
        });

如果有什么错误,或者我理解错误或不当的,恳请大家纠正,谢谢!嘻嘻嘻

时间: 2024-10-20 02:14:26

Dialog对话框的相关文章

Android学习(十九)Dialog对话框

一.什么是Dialog对话框 对话框是当前页面中弹出的一个小窗口,用于显示重要的提示信息,提示用户输入信息,确认信息,或者显示某种状态,如下载进度,退出提示等等.用户需要与对话框进行交互,才能回到原窗口继续执行. 二.几种常见的对话框 1.确认对话框. 2.单选按钮对话框. 3.多选按钮对话框. 4.列表对话框. 5.自定义对话框. 三.Dialog的常用方法 1. AlertDialog.Builder中的create()方法,创建一个dialog. 2.setTitle(),设置标题 3.s

关于dialog对话框中按键的点击事件选择

如果在dialog对话框中添加一个按钮,那么它对应的点击事件应该回调View.OnClickListener()方法呢还是DialogInterface.OnClickListener()方法呢? 1 /* 创建对话框 */ 2 public void showdialog(String title, String message){ 3 AlertDialog.Builder builder = new Builder(this); 4 builder.setIcon(R.drawable.i

第二百零四节,jQuery EasyUI,Dialog(对话框)组件

jQuery EasyUI,Dialog(对话框)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解EasyUI中Dialog(窗口)组件的使用方法,这个组件依赖于Window(窗 口)组件.linkbutton (按钮)组件. 一.加载方式 class 加载方式 <div class="easyui-dialog" title="My Dialog" style="width:400px;height:200p

(转载)Android常用的Dialog对话框用法

Android常用的Dialog对话框用法 Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的是V7 包里的AlertDialog. 1 import android.app.ProgressDialog; 2 import android.content.DialogInterface; 3 import android.os.Bundle; 4 import android.os.Sys

Android 继承DialogFragment弹出dialog对话框一

相信现在Android软件开发员,都经常用到这种方式弹出对话框的.Android继承DialogFragment弹出dialog对话框,这样弹出有很多可以灵活处理地方,想什么启动,什么时候数据接口返回都可以,有自已layout布局,生命周期.下面看看我写demo. 本文代码下载:请点击这里 转载请注明出处: http://blog.csdn.net/qq_16064871 一.MainActivity package com.example.fragmentdialogdemo; import

matlab学习------------普通dialog对话框,错误对话框errordlg,警告对话框warndlg

Dialog对话框 语法: h = dialog('PropertyName',PropertyValue,...) 对话框的默认属性 WindowStyle的值:   {normal} | modal | docked 具体实例: out = dialog;    %默认显示对话框之后点击对话框中的空白部分对话框会关闭掉 结果: %普通对话框 out = dialog('WindowStyle', 'normal',... 'Name', '我的Dialog对话框',... 'position

【Android UI设计】Dialog对话框详解(二)

上一篇我们介绍了Dialog的基本使用方法,[Android UI设计]Dialog对话框详解(一)今天继续介绍,废话不多说,今天主要实现ProgressDialog和透明Dialog两种效果,最后介绍一下github上的一个Dialog动画开源库,里面包含多种动画特效,效果图如下: 一.ProgressDialog基本使用 1.ProgressDialog关键代码 mProgressDialog = new ProgressDialog(MainActivity.this); // 圆形pro

Android 继承DialogFragment弹出dialog对话框二

之前写过一篇关于Android 继承DialogFragment弹出dialog对话框一,这次是在上次的基础上修改了一些东西,就是怎样在DialogFragment中获取getDialog()是获取当前对话框句柄.就可以进行布局可变的灵活操作.就像getactivity();一样使用.下面看代码. 本文demo下载地址:点击 MainActivity package com.example.fragmentdialogdemo; import com.example.fragmentdialog

第四十五讲:Android之Dialog 对话框(二)

只有脚踏实地的人,才能够说:路,就在我的脚下. 本讲内容:Dialog 对话框 例三:信息内容是一个简单的View类型 下面是MainActivity.java主界面文件: public class MainActivity extends Activity{ private Button b; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); se