文档章节

Android第四十一天(2)

黄晓磊
 黄晓磊
发布于 2016/07/25 21:37
字数 830
阅读 3
收藏 0

1、对话框的分类

        <1>AlertDialog    警告对话框(提示对话框)

                (1)父类:android.app.Dialog

                (2)创建AlertDialog对话框的步骤

                        a.创建AlertDialog.Builder对象,该对象能创建AlertDialog;


AlertDialog alertDialog = null;
AlertDialog.Builder builder = new Builder(MainActivity.this);

                        b.调用Builder对象的方法设置图标、标题、内容、按钮等;


builder.setTitle("警告对话框")// 设置标题
.setIcon(R.drawable.icon18)// 设置标题图标
.setMessage("确定要删除吗?")// 设置标题文本内容
.setPositiveButton("确定", new OnClickListener() {
     @Override
public void onClick(DialogInterface dialog, int which) {
// 点击确定按钮要做的事
Toast.makeText(MainActivity.this, "确定",Toast.LENGTH_SHORT).show();})
     .setNegativeButton("取消", null)
     .setNeutralButton("其他", null);

                        c.调用Builder对象的create()方法创建AlertDialog对话框.setCanceledOnTouchOutside(false):点击对话框以外对话框不消失


// 通过builder对象创建对话框对象
alertDialog = builder.create();

                        d.调用AlertDialog的show()方法来显示对话框


// 显示对话框
alertDialog.show();

        <2>ProgressDialog    进度对话框

                (1)父类:android.app.AlertDialog

                (2)创建ProgressDialog对话框的步骤:

                        a.实例化ProgressDialog,创建出ProgressDialog对象

                        b.调用该对象的方法设置图标、标题、内容、按钮等

                        c.调用 ProgressDialog 对象的show()方法显示出 ProgressDialog 对话框

        <3>DatePickerDialog    日期选择对话框

                (1)父类:android.app.AlertDialog

                (2)创建DatePickerDialog对话框的步骤:

                        a.实例化DatePickerDialog,创建出 DatePickerDialog对象


DatePickerDialog dialog = new DatePickerDialog(this,new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
//选择日期之后调用的方法 注意:参数monthOfYear是0~11
Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();
}
}, year, month, day);

                        b.调用DatePickerDialog对象的show()方法显示出DatePickerDialog对话框


dialog.show();

                        c.绑定监听器:OnDateSetListener()


Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
//选择日期之后调用的方法 注意:参数monthOfYear是0~11
    Toast.makeText(MainActivity.this, year+":"+(monthOfYear+1)+":"+dayOfMonth, Toast.LENGTH_SHORT).show();
}

        <4>TimerPickerDialog    时间选择对话框

        <5>自定义对话框(登录对话框、关于对话框)

                (1)AlertDialog——自定义对话框的创建步骤:

                        a.创建AlertDialog.Builder对象


AlertDialog.Builder builder = new Builder(this);

                        b.设置对话框的标题、按钮等(既可以使用系统自带的,也可以自定义)

                        c.自定义布局文件


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="删除"
android:textSize="30sp"
android:gravity="center"
android:padding="10dp"/>

<TextureView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#ccc"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="确定要删除吗?"
android:gravity="center"
android:padding="15dp"
android:textSize="20sp"/>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">

<Button
android:id="@+id/btnSure"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="确定"
/>
<Button
android:id="@+id/btnClean"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="取消"
/>
</LinearLayout>
</LinearLayout>

                        d.使用LayoutInflater 的 inflater()方法填充自定义的布局文件,返回view对象。用该对象的findViewById()方法加载自定义布局上所有控件;


// 获取布局对象的两种方法
View view2 = LayoutInflater.from(this).inflate(R.layout.dialog_layout,null);
// view2=getLayoutInflater().inflate(R.layout.dialog_layout, null);

                        e.调用Builder对象的setView()方法加载view对象;


builder.setView(view2);// 设置对话框要显示的布局
Button btnSure = (Button) view2.findViewById(R.id.btnSure);

                        f.调用Builder对象的create()方法创建AlertDialog对话框;


customDialog = builder.create();

                        g.调用AlertDialog的show()方法来显示对话框


customDialog.show();

        <6>列表对话框

                (1)普通列表对话框

                (2)单选列表对话框

                (3)多选列表对话框

                (4)带图标的列表对话框

© 著作权归作者所有

共有 人打赏支持
黄晓磊
粉丝 20
博文 51
码字总数 45039
作品 0
成都
私信 提问
Android第四十一天

1.概念 <1>Android应用中的菜单默认是隐藏的,只有当用户点击手机上的MENU键,系统才会显示菜单。这种菜单叫做选项菜单(Option Menu)。 <2>从3.0开始,Android不要求手机设备上必须提供MEN...

黄晓磊
2016/07/25
4
0
Android第三十一天

1、什么是Android的四层体系架构? <1>系统核心层(Linux Kernel) Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙...

黄晓磊
2016/07/11
27
0
Android第四十一天(3)

1、NotificationManager类对象 <1>getSystemService(Context.NOTIFICATION_SERVICE) 获取通知管理对象 <2>notify(int id, Notification notification) //定义通知管理对象 //定义通知构造器......

黄晓磊
2016/07/25
18
0
Android第二十一天

一:TCP/IP协议 TCP/IP是一个协议族。 TCP:(Transmission Control Protocol)传输控制协议 IP:(Internet Protocol)互联网协议 四层网络体系结构:物理层(网络接口层)、互联网络层(包含I...

黄晓磊
2016/06/27
16
0
《老罗Android开发视频教程》老罗来交国庆的答卷了

  之前在博客园、开源中国、安卓巴士发表的《老罗将死,或者Android也将就换代,但是互联网的,共享,互助精神将永存》,计划出300集免费的、高质量的、全面的Android开发视频教程,得到了...

qixinghaitang
2012/10/09
0
2

没有更多内容

加载失败,请刷新页面

加载更多

多线程的实现方式

多线程是指 一个程序运行时,产生或使用了不止一个线程。 线程的生命周期是怎么样的,下面这张图我们可以看出些端倪: 这章我们主要讨论多线程实现的方式,基础知识部分我们可以下来再恶补。...

搬砖大侠
17分钟前
0
0
新人千万不要在 Windows 上使用 Ruby on Rails

标题:新人千万不要在 Windows 上使用 Ruby on Rails 副标题:鼓励新人在 Linux 和 Mac 上使用 Ruby on Rails ! 原则:要走寻常路,不要学美特斯邦伟! "在 Windows上 使用 Ruby on Rails "是...

Jason909
25分钟前
0
0
day177-2018-12-14-英语流利阅读-待学习

艾滋病的治愈方法是否触手可及? Daniel 2018-12-14 1.今日导读 几十年来,艾滋病一直是世界上最难对付的“超级绝症”之一,从人类历史上第一次诊断出艾滋病病例的 20 世纪 80 年代早期到 20...

飞鱼说编程
51分钟前
9
0
java 合成两张图片或图片与二维码

java中偶尔会出现需要将一张小图片嵌入大图中或带二维码的海报图片,那么本文就是奔着这个目的来的,直接上腊肉! zxing是生成1D和2D条形或二维码的工具类库,java图形库Graphics2D进行图片的...

貔貅叔
56分钟前
4
0
80后阿里P10,“关老板”如何带着MaxCompute一路升级?

我是个幸运的人。虽然幸运不能被复制,但是眼光和努力可以。 关涛/关老板,80后的阿里P10,阿里巴巴通用计算平台负责人,阿里巴巴计算平台研究员。12年职场人生,微软和阿里的选择。 关涛的花...

阿里云官方博客
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部