博客
关于我
Android|Dialog类理论篇(附实现用户登录对话框)
阅读量:172 次
发布时间:2019-02-28

本文共 3322 字,大约阅读时间需要 11 分钟。

Android对话框实现:从基础到实践

Android系统中对话框是开发中常用的UI组件之一。作为开发者,理解AlertDialog及其扩展组件的使用是必不可少的。本文将从理论到实践,带你深入了解Android对话框的实现方法。

Dialog类:对话框的基础

AlertDialog是Android中最常用的对话框组件之一。它不仅支持普通对话框,还可以创建带有列表、单选按钮、复选框等形式的对话框。AlertDialog的基类是Dialog类,这个类提供了对话框的基本功能,如显示、关闭等。

AlertDialog的功能

AlertDialog的功能非常丰富,主要包括以下几个方面:

  • 设置标题和图标:通过setTitle()和setIcon()方法可以设置对话框的标题和图标。
  • 设置消息内容:使用setMessage()方法可以设置对话框的提示信息。
  • 添加按钮:支持添加正向按钮(positive)和负向按钮(negative),通过setPositiveButton()和setNegativeButton()方法。
  • 设置列表项:通过setItems()方法可以设置对话框中的列表项。
  • 显示和关闭:通过show()和dismiss()方法可以控制对话框的显示和关闭。
  • 实践:创建用户登录对话框

    步骤一:创建新项目

    首先,创建一个新的Android项目。此时,在新项目中选择"Empty Activity"模板,配置好必要的设置。完成后,运行项目,确保可以正常显示"Hello World"。

    步骤二:上传资源文件

    将需要使用的图标文件(如xx.gif)复制到项目的drawable目录下,完成资源文件的准备工作。

    步骤三:设计主界面布局

    activity_main.xml中,添加两个按钮,用于打开不同的对话框。主界面布局如下:

    步骤四:创建对话框布局

    login.xml中,定义用户登录对话框的布局:

    步骤五:编写主界面代码

    DialogActivity.java中,实现按钮点击事件,打开对应的对话框:

    public class DialogActivity extends Activity implements View.OnClickListener {    Button btn1, btn2;    LinearLayout login;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btn1 = (Button) findViewById(R.id.button1);        btn2 = (Button) findViewById(R.id.button2);        btn1.setOnClickListener(this);        btn2.setOnClickListener(this);    }    @Override    public void onClick(View arg0) {        if (arg0 == btn1) {            // 打开普通对话框            AlertDialog.Builder dialog = new AlertDialog.Builder(DialogActivity.this);            dialog.setTitle("警告");            dialog.setIcon(R.drawable.xx);            dialog.setMessage("本项操作可能导致信息泄露!");            dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {                @Override                public void onClick(DialogInterface dialog, int which) {                    dialog.cancel();                }            });            dialog.create();            dialog.show();        } else if (arg0 == btn2) {            // 打开登录对话框            login = (LinearLayout) getLayoutInflater().inflate(R.layout.login, null);            AlertDialog.Builder dialog = new AlertDialog.Builder(DialogActivity.this);            dialog.setTitle("用户登录");            dialog.setMessage("请输入用户名和密码");            dialog.setView(login);            dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {                @Override                public void onClick(DialogInterface dialog, int which) {                    EditText txt = (EditText) login.findViewById(R.id.paswdEdit);                    String password = txt.getText().toString();                    if (password.equals("admin")) {                        Toast.makeText(DialogActivity.this, "登录成功", Toast.LENGTH_SHORT).show();                    } else {                        Toast.makeText(DialogActivity.this, "密码错误", Toast.LENGTH_SHORT).show();                    }                    dialog.dismiss();                }            });            dialog.setIcon(R.drawable.xx);            dialog.create();            dialog.show();        }    }}

    步骤六:运行测试

    运行项目,点击主界面上的按钮,可以分别打开普通对话框和登录对话框。登录对话框支持用户输入用户名和密码,输入正确(用户名:admin,密码:admin)即可登录成功。

    总结

    通过以上步骤,你学会了如何在Android中使用AlertDialog创建用户登录对话框。从创建项目、布局设计到代码实现,每一步都需要细致处理。希望本文能为你的Android开发之路提供帮助!

    转载地址:http://fsrd.baihongyu.com/

    你可能感兴趣的文章
    OpenCV与AI深度学习 | 基于Python和OpenCV将图像转为ASCII艺术效果
    查看>>
    OpenCV与AI深度学习 | 基于PyTorch实现Faster RCNN目标检测
    查看>>
    OpenCV与AI深度学习 | 基于PyTorch语义分割实现洪水识别(数据集 + 源码)
    查看>>
    OpenCV与AI深度学习 | 基于YOLO11的车体部件检测与分割
    查看>>
    OpenCV与AI深度学习 | 基于YOLOv8的停车对齐检测
    查看>>
    OpenCV与AI深度学习 | 基于机器视觉的磁瓦表面缺陷检测方案
    查看>>
    OpenCV与AI深度学习 | 实战 | 使用YoloV8实例分割识别猪的姿态(含数据集)
    查看>>
    Opencv中KNN背景分割器
    查看>>
    OpenCV中基于已知相机方向的透视变形
    查看>>
    opencv之namedWindow,imshow出现两个窗口
    查看>>
    opencv之模糊处理
    查看>>
    opencv保存图片路径包含中文乱码解决方案
    查看>>
    opencv图像分割2-GMM
    查看>>
    OpenCV学习(13) 细化算法(1)(转)
    查看>>
    OpenCV探索
    查看>>
    opencv笔记(1):图像缩放
    查看>>
    OpenCV(1)读写图像
    查看>>
    OpenCV:概念、历史、应用场景示例、核心模块、安装配置
    查看>>
    Openlayers Source基础及重点内容讲解
    查看>>
    openlayers 入门教程(八):Geoms 篇
    查看>>