Android 自学之日期DatePicker、时间TimePicker选择器

日期(DatePicker)、时间(TimePicker)是两个比较易用的控件,他们都是从帧布局FrameLayout派生而出的;他们在FrameLayout的基础上提供了一些方法来获取当前用户所选择的日期和时间;如果程序需要获取日期和时间,则可以通过为DatePicker添加OnDateChangedListener进行监听,为TimePicker添加OnTimeChangeListenter进行监听来实现。

以一个让用户选择日期和时间的例子来展示下他们的功能和用法。

layout/main.xml:


 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 >
7
8 <!-- 显示用户输入日期、时间的控件 -->
9 <EditText android:id="@+id/show"
10 android:layout_width="fill_parent"
11 android:layout_height="wrap_content"
12 android:editable="false"
13 android:cursorVisible="false"
14 android:text="选择购买本书的具体时间"
15 />
16 <!-- 定义一个DatePicker组件 -->
17 <DatePicker android:id="@+id/datePicker"
18 android:layout_width="match_parent"
19 android:layout_height="260dip"
20 android:layout_gravity="center_horizontal"
21 />
22 <!-- 定义一个TimePicker组件 -->
23 <TimePicker android:id="@+id/timePicker"
24 android:layout_width="match_parent"
25 android:layout_height="160dip"
26 android:layout_gravity="center_horizontal"
27 />
28
29 </LinearLayout>

上面的代码里面定义了三个组件:EditText
、日期、时间

主程序:com.example.choosedate.ChooseDate.java


 1 package com.example.choosedate;
2
3 import java.util.Calendar;
4
5 import android.support.v7.app.ActionBarActivity;
6 import android.support.v7.app.ActionBar;
7 import android.support.v4.app.Fragment;
8 import android.os.Bundle;
9 import android.view.LayoutInflater;
10 import android.view.Menu;
11 import android.view.MenuItem;
12 import android.view.View;
13 import android.view.ViewGroup;
14 import android.widget.DatePicker;
15 import android.widget.DatePicker.OnDateChangedListener;
16 import android.widget.EditText;
17 import android.widget.TimePicker;
18 import android.widget.TimePicker.OnTimeChangedListener;
19 import android.os.Build;
20
21 public class ChooseDate extends ActionBarActivity {
22
23 //定义5个记录当前时间的变量
24 private int year;
25 private int month;
26 private int day;
27 private int hour;
28 private int minute;
29
30 @Override
31 protected void onCreate(Bundle savedInstanceState) {
32 super.onCreate(savedInstanceState);
33 setContentView(R.layout.main);
34 //获得组件
35 DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker);
36 TimePicker timePicker = (android.widget.TimePicker) findViewById(R.id.timePicker);
37
38 //获取当前的年、月、日、小时、分钟
39 Calendar c = Calendar.getInstance();
40 year = c.get(Calendar.YEAR);
41 month = c.get(Calendar.MONTH);
42 day = c.get(Calendar.DAY_OF_MONTH);
43 hour = c.get(Calendar.HOUR);
44 minute = c.get(Calendar.MINUTE);
45
46 //初始化datePicker组件,并指定监听器
47 datePicker.init(year, month, day, new OnDateChangedListener() {
48
49 @Override
50 public void onDateChanged(DatePicker view, int year, int month,
51 int day) {
52 ChooseDate.this.year = year;
53 ChooseDate.this.month = month;
54 ChooseDate.this.day = day;
55
56 //显示当前日期、时间
57 showDate(year, month , day , hour, minute);
58 }
59 });
60
61 //初始化timePicker组件指定监听器
62 timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
63
64 @Override
65 public void onTimeChanged(TimePicker view, int hour, int minute) {
66 ChooseDate.this.hour = hour;
67 ChooseDate.this.minute = minute;
68 //显示当前日期、时间
69 showDate(year, month , day , hour, minute);
70 }
71 });
72
73 }
74
75 //定义在EditText中显示当前日期、时间的方法
76 private void showDate(int year, int month , int day
77 , int hour , int minute)
78 {
79 EditText show = (EditText)findViewById(R.id.show);
80 show.setText("日期:" + year + "年" + month + "月"
81 + day + "日 " + hour + "时" + minute + "分");
82 }
83 }

效果图1:选择前

效果图2:选择后

Android 自学之日期DatePicker、时间TimePicker选择器,布布扣,bubuko.com

时间: 2024-08-07 17:00:29

Android 自学之日期DatePicker、时间TimePicker选择器的相关文章

Android开发之日期、时间选择器(DatePicker和TimePicker)的功能和用法

日期.时间选择器(DatePicker和TimePicker)的功能和用法 DatePicker和TimePicker是两个比较常用的控件,它们都从FrameLayout派生而来,其中DatePicker用于选择日期.TimePicker用于选择时间. DatePicker和TimePicker在FrameLayout的基础上提供了一些方法来获取当前用户所选择的日期.时间:开发者可以通过为DatePicker添加OnDateChangedListener.为TimePicker添加OnTimeC

Android Calender显示日期与时间

先贴代码: Java: public class MainActivity extends Activity { private int year; private int month; private int day; private int hour; private int minute; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); se

android常用组件之DatePicker和TimePicker

在android中,DatePicker组件和TimePicker组件分别是日期选择器和时间选择器. 该实例中,当点击日期选择器按钮后,弹出日期选择框,用户选择日期后andoid会将日期显示到TextView组件中:当点击时间选择器按钮后,弹出时间选择框,选择后在相应的TextView组件显示时间. 日期选择框和时间选择框在创建实例的过程中,构造方法的参数类似,以下分别介绍: 1.日期选择框创建实例如下 DatePickerDialog datePicker=new DatePickerDial

【Android自学日记】使用DatePicker以及TimePicker显示当前日期和时间

DatePicker 1.获取一个日历对象: Calendar cal=Calendar.getInstance(); 2.获取当前日期及时间: int year=cal.get(Calendar.YEAR); int month=cal.get(Calendar.MONTH)+1;//特殊的是Calendar中月份从0开始计数,所以加1得到常规月份 int day=cal.get(Calendar.DAY_OF_MONTH); int hour=cal.get(Calendar.HOUR_OF

Windows Phone 8.1中日期和时间选择器DatePicker,TimePicker

开篇之前,推荐王磊老师的Windows 8.1中关于DatePicker和TimePicker的讲解 链接:重新想象 Windows 8.1 Store Apps (73) - 新增控件: DatePicker, TimePicker 首先Windows Phone 8.1的这两个选择器的使用和在Windows 8.1中的使用差不多. 1.前台DatePicker和TimePicker标签的使用没什么太大的问题,其中Header属性其实就是给选择器起个名字而已 DateChanged和TimeC

日期DatePicker与时间TimePicker控件

在AndroidApp应用中,设置日期和时间时间也是经常遇见的,下面我们一起学习一下. 我们需要学习Android中的基本控件:(1)日期选择控件DatePicker (2)时间选择控件TimePicker. 一.设计登录窗口 打开"res/layout/activity_main.xml"文件.  1.分别从工具栏向activity拖出1个日期选择控件DatePicker. 1个时间选择控件TimePicker.1个按钮Button.控件来自Time&Date.Form Wi

时间选择器:DatePicker 和TimePicker

1.介绍DatePicker和TimePicker两种实现动态输入日期和时间的功能 2.介绍DataPickerDialog和TimePickerDialog两种实现动态输入日期和时间的对话框 3,介绍两组针对监测日期时间改变的监听器包含: OnDataChangedListener和OnTimeChangedListener() OnDataSetListener和OnTimeSetListener() >当用户更改了DataPicker里的年,月,日时,将触发OnDataChangedLis

Android 使用DatePicker以及TimePicker显示当前日期和时间

课程内容1.介绍DatePicker和TimePicker两种实现动态输入日期和事件的功能2.介绍DatePickerDialog和TimePickerDialog来年耕种实现动态输入日期和事件的对话框3.介绍两组针对检测日期时间改变的监听器包含: onDateChangedListener和OnTimeChangedListener onDateSetListener和OnTimeSetListener当用户更改了DatePicker里的年.月.日时,将出发OnDateCHangedListe

Android中DatePicker与TimePicker用法讲解(包括DatePickerDialog与TimePickerDialog)

实现效果:将DatePicker和TimePicker修改的日期和时间实时显示在程序标题栏上. 1.通过DatePicker和TimePicker来实现 布局为main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_