android性别选择弹窗,Android UI系列-----Dialog对话框示例

在Android开发当中,在界面上弹出一个Dialog对话框使我们经常需要做的,本篇随笔将详细的讲解Dialog对话框这个概念,包括定义不同样式的对话框。

一、Dialog

我们首先来看看android官方文档对Dialog的介绍

A dialog is a small window that prompts the user to make a decision or enter additional information. A dialog does not fill the screen and is normally used for modal events that require users to take an action before they can proceed.

dialog就是一个在屏幕上弹出一个可以让用户做出一个选择,或者输入额外的信息的对话框,一个对话框并不会沾满我们整个的屏幕,并且通常用于模型事件当中需要用户做出一个决定后才会继续执行。

Dialog类是dialog对话框的基类,但是我们应该避免直接使用这个类来实例化一个dialog对话框,我们应当使用其子类来得到一个对话框:

java.lang.Object

↳     android.app.Dialog

Known Direct Subclasses

AlertDialog, CharacterPickerDialog, MediaRouteChooserDialog, MediaRouteControllerDialog, Presentation

Known Indirect Subclasses

DatePickerDialog, ProgressDialog, TimePickerDialog

我们看到,Dialog有很多的子类实现,所以我们要定义一个对话框,使用其子类来实例化一个即可,而不要直接使用Dialog这个父类来构造。

二、AlertDialog

今天我们重点要来了解的就是AlertDialog对话框,我们看到,AlertDialog是Dialog的一个直接子类。

使用AlertDialog,我们可以显示一个标题,最多3个按钮操作,以及一组选择框或者是自己定义的弹出框。

这里借用android的官方文档提供的一个图来看看AlertDialog框的组成:

e32cf0519ed0dca77f8225ef5de8d66f.png

①区域1那里就是定义弹出框的头部信息,包括标题名或者是一个图标。

②区域2那里是AlertDialog对话框的content部分,在这里我们可以设置一些message信息,或者是定义一组选择框,还可以定义我们自己的布局弹出框。

③区域3那里使我们的Action Buttons部分,这里我们可以定义我们的操作按钮。

说到Action Buttons这里要特别注意一下:

在AlertDialog中,定义按钮都是通过 setXXXButton 方法来完成,其中一共有3种不同的Action Buttons供我们选择:

1.setPositiveButton(CharSequence text, DialogInterface.OnClickListener listener)这是一个相当于OK、确定操作的按钮。

2.setNegativeButton (CharSequence text, DialogInterface.OnClickListener listener)这是一个相当于取消操作的按钮。

3. setNeutralButton (CharSequence text, DialogInterface.OnClickListener listener)这个是相当于一个忽略操作的按钮。

我们每一种action buttons最多只能出现一个,即弹出对话框最多只能出现一个PositiveButton。

接下来我们通过一个一个的具体实例来看看我们常用的几种AlertDialog对话框。

1.弹出一个警告框,并有三个按钮可选择

248a3acaa14c9e3967aac805ae29d530.png

我们来看看代码部分:

button.setOnClickListener(new OnClickListener()

{

@Override

public void onClick(View v)

{

// 通过AlertDialog.Builder这个类来实例化我们的一个AlertDialog的对象

AlertDialog.Builder builder = n

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值