android开发日期控件的使用Word文档格式.docx
- 文档编号:822480
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:26
- 大小:449.71KB
android开发日期控件的使用Word文档格式.docx
《android开发日期控件的使用Word文档格式.docx》由会员分享,可在线阅读,更多相关《android开发日期控件的使用Word文档格式.docx(26页珍藏版)》请在冰点文库上搜索。
控件id
用途
TextView
@+id/txtTitle
程序标题,到点后闪烁背景
@+id/txtCurrentDate
显示当前日期
@+id/txtSetDate
设置和显示设置的日期
@+id/txtSetTime
设置和显示设置的时间
AnologClock
@+id/analogClock1
模拟时钟,显示当前时间
DigitalClock
@+id/digitalClock1
数字时钟,显示当前时间
Chronometer
@+id/chronometer1
计时器
main.xml文件如下:
viewsource
print?
01
<
?
xmlversion="
1.0"
encoding="
utf-8"
>
02
LinearLayoutxmlns:
android="
03
android:
layout_width="
fill_parent"
04
layout_height="
05
orientation="
vertical"
>
06
07
08
id="
@+id/txtTitle"
09
10
wrap_content"
11
text="
小闹钟"
12
textSize="
20dp"
13
background="
@color/gray"
/>
14
LinearLayout
15
16
17
horizontal"
"
18
19
AnalogClock
20
@+id/analogClock1"
21
22
23
24
LinearLayout
25
@+id/linearLayout2"
26
match_parent"
27
28
29
30
31
@+id/txtCurrentDate"
32
33
34
现在是:
2011年10月23日"
35
textAppearance="
attr/textAppearanceSmall"
36
37
38
@+id/digitalClock1"
39
40
41
layout_weight="
1"
42
gravity="
center"
43
DigitalClock"
44
15dp"
/>
45
46
/LinearLayout>
47
48
49
50
51
52
53
54
100dp"
55
56
57
设置时间:
58
59
60
61
@+id/txtSetDate"
62
130dp"
63
64
65
2011年10月21日"
66
67
68
69
@+id/txtSetTime"
70
71
72
00:
00"
73
74
75
76
77
78
@+id/linearLayout1"
79
80
81
layout_marginTop="
5dp"
82
83
84
85
@+id/chronometer1"
86
87
88
10"
89
90
format="
H:
MM:
SS"
91
92
93
效果如图:
控件属性简介:
1.
AnologClock
1.1
Handhour
时针,可以指定时针图片,设置时针形状,这里使用默认时针
1.2
Handminute
分针,可以指定分针图片,设置分针形状,这里使用默认分针
可能出于省电的考虑,模拟时钟并没有提供秒针,这有点美中不足。
2.
Chronometer
Format:
这是用来指定时间显示格式的字符串,与C++中的CString的Format类似,指定格式为“MM:
SS”或“H:
SS”,那么计时器将用指定格式替换显示字符串中的第一个%s。
三、功能实现
模拟时钟和数字时钟添加进来了后,在程序运行时就能自动获取系统时间,也就是说无需额外代码,它们就能工作了。
现在来实现其他功能。
获取系统日期显示在id为txtCurrentDate的TextView上
获取系统时间,用到的是java.util.Calendar组件,这个日历组件比较强大,不仅可以得到系统日期,还可以得到系统时间、星期等。
这里我们只获取当时的日期。
//声明:
privateintintYear,intMonth,intDay;
privateTextViewtxtCD;
//实例化:
txtCD=(TextView)findViewById(R.id.txtCurrentDate);
//实例化显示日期用的TextView
//自定义函数,用于获取和显示当前系统日期:
privatevoidsettxtCurrentDate()
{
finalCalendarmycalendar=Calendar.getInstance();
//实例化日历
intYear=mycalendar.get(Calendar.YEAR);
//获取“年”
intMonth=mycalendar.get(Calendar.MONTH);
//获取“月”
intDay=mycalendar.get(Calendar.DAY_OF_MONTH);
//获取“日”
txtCD.setText(
newStringBuilder()
.append(intYear).append("
年"
)
.append(intMonth+1).append("
月"
.append(intDay).append("
日"
));
//显示日期
}
由于获取的月数是从0开始计数的,所以需要加1。
在OnCreate中使用这个函数:
1
settxtCurrentDate();
这样我们在程序运行时就能够在程序启动时显示当下系统的时间了,并在任何需要刷新日期显示的时候,调用这个函数即可刷新日期显示。
问题总结
在本文中我们完成了android开发中时间拾取器TimePicker、日期拾取器DatePicker、计时器Chronometer、模拟时钟AnologClock和数字时钟DigitalClock的布局。
以及如何获取系统时间。
获取系统时间用到的是java.util.Calendar的get方法依次获取年月日值,用StringBuilder()类的append()方法将字符串连接在一起。
在下一篇文章中我们将完成剩下的两个功能。
日期控件的使用
(二)
在上一教程文章Android开发:
日期控件的使用
(一)中,我们android开发的布局已经敲定,系统时间也已经显示在指定位置了,那么另两个功能该怎么实现呢,它们都用到什么了呢?
本文将使用DatePicker和TimePicker完成时间的选择,并启动Chronometer。
这样当我们设定的时间和当前时间相等时(分、时相等),小闹钟就开始动作,闪烁标题背景颜色。
一、现在明确下本文要完成的功能:
1.当单击设置时间后的显示日期的TextView将弹出DatePicker,并将设置好的时间赋给显示日期的TextView,同时启动计时器。
2.当单击设置时间后的显示时间的TextView将弹出TimePicker,并将设置好的时间赋给显示时间的TextView,同时启动计时器。
3.显示时间与设定时间相同时闪烁“小闹钟”TextView的背景颜色。
二、功能实现
1.
当单击设置时间后的显示日期的TextView将弹出DatePicker,并将设置好的时间赋给显示日期的TextView,同时启动计时器。
这个功能,我们可以拆分成三部分,一个是单击事件、一个是DatePicker对话框的创建、还有一个就是计时器的启动
单击事件很简单,就是使用之前说过的OnClickListener,弹出对话框相对麻烦些。
1.1
定义对话框标签和计时器变量
staticfinalintDATE_DIALOG_ID=0;
2
privateChronometercmCM;
1.2在OnCreate中班实例化定时器
cmCM=(Chronometer)findViewById(R.id.chronometer1);
1.3重载OnDialogCreate函数
@Override
protectedDialogonCreateDialog(intid){
3
switch(id){
4
caseDATE_DIALOG_ID:
5
returnnewDatePickerDialog(this,
6
ddSetDateListener,intYear,intMonth,intDay);
7
}
8
returnnull;
9
其中ddSetDateListener是我们定义的单击DataPicker的设置按钮后的监听器,即按下DataPicker的“设置”按钮后需要做的事情——设置TextView的值和启动计时器,其定义如下:
privateDatePickerDialog.OnDateSetListenerddSetDateListener=newDatePickerDialog.OnDateSetListener(){
publicvoidonDateSet(DatePickerview,intyear,intmonthOfYear,intdayOfMonth){
intYear=year;
intMonth=monthOfYear;
intDay=dayOfMonth;
txtSD.setText(
//设置TextView的值
//启动定时器
cmCM.setBase(SystemClock.elapsedRealtime());
//从当前时间开始计时
cmCM.setFormat("
计时:
%s"
);
//时间格式
cmCM.start();
//开始计时
}
};
1.4设置单击事件
完成以上工作后,就可以设置TextView的单击响应了,因为之后显示时间的TextView也有单击响应,所以这里定义一个Listener,处理这两个单击动作。
声明与定义及使用如下:
privateOnClickListenerlistener;
//定义:
listener=newOnClickListener(){
publicvoidonClick(Viewv)
{//TODOAuto-generatedmethodstub
if(v.getId()==R.id.txtSetDate)
{
showDialog(DATE_DIALOG_ID);
elseif(v.getId()==R.id.txtSetTime)
showDialog(TIME_DIALOG_ID);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- android 开发 日期 控件 使用