当前位置:操作系统 > 安卓/Android >>

Android开发教程—控件之Dialog ListView GridView

 

 

Dialog 对话框,它运行起来的效果是什么样呢?如下图

\  

 

 

 这种是最常用的对话框

\

当点击了上图的确定后,会弹此对话框,这种对话框属于自定义布局类型

\

 

当执行一些比较费时的操作时,用这种对话框是个不错的选择

\

当我们需要用户进行选择操作,又不能使用下来列表时,可以使用这种自定义布局的对话框

 

接下来我们就一起来看看这些通过代码是如何实现的?

package TSD.Jason.Example;

 

import android.app.Activity;

import android.app.AlertDialog;

import android.app.ProgressDialog;

import android.app.AlertDialog.Builder;

import android.app.Dialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.View;

import android.widget.Button;

 

/**

 * 对话框

 * @author Administrator

 * 常用方法:

 *     setTitle():给对话框设置title.

    setIcon():给对话框设置图标。

    setMessage():设置对话框的提示信息

    setItems():设置对话框要显示的一个list,一般用于要显示几个命令时

    setSingleChoiceItems():设置对话框显示一个单选的List

    setMultiChoiceItems():用来设置对话框显示一系列的复选框。

    setPositiveButton():给对话框添加”Yes”按钮。

    setNegativeButton():给对话框添加”No”按钮。

 *

 */

public class DialogActivity extends Activity {

    Button btn1;

    ProgressDialog p;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.diaolg);

        btn1 = (Button)findViewById(R.id.btnDialog);

        btn1.setOnClickListener(new Button.OnClickListener() {

            @Override

            public void onClick(View v) {

                Builder dialog = new AlertDialog.Builder(DialogActivity.this);

                dialog.setTitle("登录提示");

                dialog.setIcon(android.R.drawable.ic_dialog_info);

                dialog.setMessage("是否登录?");

                dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {

                    @Override

                    public void onClick(DialogInterface dialog, int which) {

                        ShowLoginDialog();

                    }

                });

                dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {

                    @Override

                    public void onClick(DialogInterface dialog, int which) {

                        DialogActivity.this.finish();

                    }

                });

                dialog.show();

            }

        });

    }

}

以上代码是我们第一张对话框的效果实现代码,大家发现是不是挺简单,当我们单击确定按钮后,将调用一个叫做ShowLoginDialog的方法。

这个方法马上会贴出来,在这里我还是要强调下,大家在写代码的时候一定要有一个良好的编程思想,将功能拆分,降低代码的耦合度,一个方法只做一件事情,不要一股脑的将代码写到一个方法里。希望大家记得。

private void ShowLoginDialog()

    {

        Builder builder = new AlertDialog.Builder(DialogActivity.this);

        builder.setTitle("用户登录");

        LayoutInflater factory = LayoutInflater.from(DialogActivity.this);

        View dialogView  = factory.inflate(R.layout.dialogview, null);

        builder.setView(dialogView);

        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

            @Override

            public void onClick(DialogInterface dialog, int which) {

                DialogWait();

            }

        });

        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

            @Override

            public void onClick(DialogInterface dialog, int which) {

                DialogActivity.this.finish();

            }

        });

        builder.show();

    }

上边被标注的代码是为了让Dialog中的内容部分显示我们自定义的布局文件,通过builder对象的setView方法就可以将R.layout.dialogview这个布局文件绑定到对话框中。

布局文件代码如下

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,