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

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

DatePicker和TimePicker是两个比较常用的控件,它们都从FrameLayout派生而来,其中DatePicker用于选择日期、TimePicker用于选择时间。

DatePicker和TimePicker在FrameLayout的基础上提供了一些方法来获取当前用户所选择的日期、时间;开发者可以通过为DatePicker添加OnDateChangedListener、为TimePicker添加OnTimeChangedListener监听器进行监听来获取用户选择的日期和时间。

DatePicker(日期选择器)

结构:

java.lang.Object

? android.view.View

? android.view.ViewGroup

? android.widget.FrameLayout

? android.widget.DatePicker

概述:

一个选择年月日的日历布局视图,对于对话框视图,参见 DatePickerDialog.

公共方法:

Public Methods

int

获取选择的月份

int

获取选择的年份

void

init(int

year, int monthOfYear, int dayOfMonth,DatePicker.OnDateChangedListeneronDateChangedListener)

初始化年月日

void

setEnabled(boolean

enabled)

设置视图的启用状态

void

updateDate(int

year, int monthOfYear, int dayOfMonth)

更新日期

DatePicker支持的XML属性:

XML属性

说明

android:calendarViewShown

设置该日期选择器是否显示ClendarView组件

android:endYear

设置该日期选择器允许选择的最后一年

android:startYear

设置该日期选择器允许选择的第一一年

android:maxDate

设置该日期选择器允许选择的最大日期。以mm/dd/yyyy格式指定最大日期

android:minDate

设置该日期选择器允许选择的最小日期。以mm/dd/yyyy格式指定最小日期

android:spinnersShown

设置该日期选择器是否显示Spinner日期选择组件

TimePicker(时间选择器)

结构:

ava.lang.Object

? android.view.View

? android.view.ViewGroup

? android.widget.FrameLayout

? android.widget.TimePicker

概述:

用于选择一天中时间的视图,支持 24小时及上午/下午模式。小时,分钟及上午/下午(如果可用)都可以用垂直滚动条来控制。用键盘来输入小时。两个数的小时数可以通过输入两个数字来实现,例如在一定时间内输入‘1’和‘2’即选择了12点。分钟能显示输入的单个数字。在AM/PM模式下,用户可以输入‘a‘, ‘A"或 ‘p‘, ‘P‘来选取。对于对话框视图,参见TimePickerDialog。

公共方法:

Public Methods

int

返回窗口空间的文本基准线到其顶边界的偏移量。如果这个部件不支持基准线对齐,

这个方法返回-1/。

获取当前时间的小时部分。 返回值当前小时(0-23)

boolean

获取当前系统设置是否是24小时制。 如果是24小时制返回true,否则返回false。

void

void

设置当前分钟(0-59)

void

setEnabled(boolean

enabled)

设置可用的视图状态。可用的视图状态的解释在子类中改变。

void

设置是24小时还是上午/下午制

应用实例

选择日期和时间:

运行效果图:

fb7ba8d835a2c9fd46f9c719d7d8c98b.png

程序代码:

package com.jph.choosedae;

import java.util.Calendar;

import android.app.Activity;

import android.os.Bundle;

import android.widget.DatePicker;

import android.widget.DatePicker.OnDateChangedListener;

import android.widget.EditText;

import android.widget.TimePicker;

import android.widget.TimePicker.OnTimeChangedListener;

import android.widget.Toast;

/**

* Description:

*
选择日期时间

*
本实例通过DatePicker(时间选择器)和

*
TimePicker(日期选择器)来提供用户选择日期和时间

*
为了获取选择的日期程序为DatePicker注册了OnDateChangedListener

*
监听器,为了获取选择的时间程序为TimePicker注册OnTimeChangedListener

*
监听器

* @author jph

* Date:2014.20.57

*/

public class ChooseDate extends Activity

{

// 定义5个记录当前时间的变量

private int year;

private int month;

private int day;

private int hour;

private int minute;

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

DatePicker datePicker = (DatePicker)

findViewById(R.id.datePicker);

TimePicker timePicker = (TimePicker)

findViewById(R.id.timePicker);

// 获取当前的年、月、日、小时、分钟

Calendar c = Calendar.getInstance();

year = c.get(Calendar.YEAR);

month = c.get(Calendar.MONTH);

day = c.get(Calendar.DAY_OF_MONTH);

hour = c.get(Calendar.HOUR);

minute = c.get(Calendar.MINUTE);

// 初始化DatePicker组件,初始化时指定监听器

datePicker.init(year, month, day, new OnDateChangedListener()

{

@Override

public void onDateChanged(DatePicker arg0, int year

, int month, int day)

{

ChooseDate.this.year = year;

ChooseDate.this.month = month;

ChooseDate.this.day = day;

// 显示当前日期、时间

showDate(year, month, day, hour, minute);

Toast.makeText(ChooseDate.this,"您选择的日期:"+year+"年 "

+month+"月 "+day+"日", Toast.LENGTH_SHORT).show();

}

});

// 为TimePicker指定监听器

timePicker.setOnTimeChangedListener(new OnTimeChangedListener()

{

@Override

public void onTimeChanged(TimePicker view

, int hourOfDay, int minute)

{

ChooseDate.this.hour = hourOfDay;

ChooseDate.this.minute = minute;

// 显示当前日期、时间

showDate(year, month, day, hour, minute);

Toast.makeText(ChooseDate.this,"您选择的时间:"+hourOfDay+"时 "

+minute+"分", Toast.LENGTH_SHORT).show();

//

}

});

}

// 定义在EditText中显示当前日期、时间的方法

private void showDate(int year, int month

, int day, int hour, int minute)

{

EditText show = (EditText) findViewById(R.id.show);

show.setText("您选择的日期和时间为:" + year + "年"

+ (month + 1) + "月" + day + "日 "

+ hour + "时" + minute + "分");

}

}

xml布局文件:

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:editable="false"

android:cursorVisible="false"

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="请选择日期和时间"

/>

android:layout_width="wrap_content"

android:layout_height="200dp"

android:layout_gravity="center_horizontal"

android:startYear="2000"

android:endYear="2050"

android:calendarViewShown="true"

android:spinnersShown="true"

/>

android:layout_width="wrap_content"

android:layout_height="100dp"

android:layout_gravity="center_horizontal"

/>

原文:http://blog.csdn.net/fengyuzhengfan/article/details/38237065

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值