有没有一个简单的自定义uiimagepickertimepicker或者datepicker的例子

| 漏洞检测 |
| 隐藏捆绑 |
Android自定义DataTimePicker(日期选择器)
Android自定义DataTimePicker(日期选择器) 笔者有一段时间没有发表关于Android的文章了,关于Android自定义组件笔者有好几篇想跟大家分享的,后期会记录在博客中。本篇博客给大家分享的是自定义一个日期选择器,可以让用户同时选择年月日和当前时间。 先看
DataTimePicker(选择器)
笔者有一段时间没有发表关于的文章了,关于Android组件笔者有好几篇想跟大家分享的,后期会记录在博客中。本篇博客给大家分享的是自定义一个选择器,可以让用户同时选择年月日和当前时间。
先看看效果:
实现的效果就是在同一个布局上显示日期选择和时间选择。
自定义一个类:/DateTimePicker/src/com/wwj/datetimepicker/DateTimePickDialogUtil.java
package com.wwj.
import java.text.SimpleDateF
import java.util.C
import android.app.A
import android.app.AlertD
import android.content.DialogI
import android.widget.DateP
import android.widget.DatePicker.OnDateChangedL
import android.widget.EditT
import android.widget.LinearL
import android.widget.TimeP
import android.widget.TimePicker.OnTimeChangedL
* 日期时间选择控件 使用方法: private EditText inputD//需要设置的日期时间文本编辑框 private String
* initDateTime=日 14:44,//初始日期时间值 在点击事件中使用:
* inputDate.setOnClickListener(new OnClickListener() {
* @Override public void onClick(View v) { DateTimePickDialogUtil
dateTimePicKDialog=new
DateTimePickDialogUtil(SinvestigateActivity.this,initDateTime);
dateTimePicKDialog.dateTimePicKDialog(inputDate);
public class DateTimePickDialogUtil implements OnDateChangedListener,
OnTimeChangedListener {
private DatePicker dateP
private TimePicker timeP
private AlertD
private String dateT
private String initDateT
* 日期时间弹出选择框构造函数
* @param activity
:调用的父activity
* @param initDateTime
初始日期时间值,作为弹出窗口的标题和日期时间初始值
public DateTimePickDialogUtil(Activity activity, String initDateTime) {
this.activity =
this.initDateTime = initDateT
public void init(DatePicker datePicker, TimePicker timePicker) {
Calendar calendar = Calendar.getInstance();
if (!(null == initDateTime || .equals(initDateTime))) {
calendar = this.getCalendarByInintData(initDateTime);
initDateTime = calendar.get(Calendar.YEAR) + 年
+ calendar.get(Calendar.MONTH) + 月
+ calendar.get(Calendar.DAY_OF_MONTH) + 日
+ calendar.get(Calendar.HOUR_OF_DAY) + :
+ calendar.get(Calendar.MINUTE);
datePicker.init(calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH), this);
timePicker.setCurrentHour(calendar.get(Calendar.HOUR_OF_DAY));
timePicker.setCurrentMinute(calendar.get(Calendar.MINUTE));
* 弹出日期时间选择框方法
* @param inputDate
:为需要设置的日期时间文本编辑框
public AlertDialog dateTimePicKDialog(final EditText inputDate) {
LinearLayout dateTimeLayout = (LinearLayout) activity
.getLayoutInflater().inflate(mon_datetime, null);
datePicker = (DatePicker) dateTimeLayout.findViewById(R.id.datepicker);
timePicker = (TimePicker) dateTimeLayout.findViewById(R.id.timepicker);
init(datePicker, timePicker);
timePicker.setIs24HourView(true);
timePicker.setOnTimeChangedListener(this);
ad = new AlertDialog.Builder(activity)
.setTitle(initDateTime)
.setView(dateTimeLayout)
.setPositiveButton(设置, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
inputDate.setText(dateTime);
.setNegativeButton(取消, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
inputDate.setText();
}).show();
onDateChanged(null, 0, 0, 0);
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
onDateChanged(null, 0, 0, 0);
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// 获得日历实例
Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(),
datePicker.getDayOfMonth(), timePicker.getCurrentHour(),
timePicker.getCurrentMinute());
SimpleDateFormat sdf = new SimpleDateFormat(yyyy年MM月dd日 HH:mm);
dateTime = sdf.format(calendar.getTime());
ad.setTitle(dateTime);
* 实现将初始日期时间日 16:45 拆分成年 月 日 时 分 秒,并赋值给calendar
* @param initDateTime
初始日期时间值 字符串型
* @return Calendar
private Calendar getCalendarByInintData(String initDateTime) {
Calendar calendar = Calendar.getInstance();
// 将初始日期时间日 16:45 拆分成年 月 日 时 分 秒
String date = spliteString(initDateTime, 日, index, front); // 日期
String time = spliteString(initDateTime, 日, index, back); // 时间
String yearStr = spliteString(date, 年, index, front); // 年份
String monthAndDay = spliteString(date, 年, index, back); // 月日
String monthStr = spliteString(monthAndDay, 月, index, front); // 月
String dayStr = spliteString(monthAndDay, 月, index, back); // 日
String hourStr = spliteString(time, :, index, front); // 时
String minuteStr = spliteString(time, :, index, back); // 分
int currentYear = Integer.valueOf(yearStr.trim()).intValue();
int currentMonth = Integer.valueOf(monthStr.trim()).intValue() - 1;
int currentDay = Integer.valueOf(dayStr.trim()).intValue();
int currentHour = Integer.valueOf(hourStr.trim()).intValue();
int currentMinute = Integer.valueOf(minuteStr.trim()).intValue();
calendar.set(currentYear, currentMonth, currentDay, currentHour,
currentMinute);
* 截取子串
* @param srcStr
* @param pattern
* @param indexOrLast
* @param frontOrBack
public static String spliteString(String srcStr, String pattern,
String indexOrLast, String frontOrBack) {
String result = ;
int loc = -1;
if (indexOrLast.equalsIgnoreCase(index)) {
loc = srcStr.indexOf(pattern); // 取得字符串第一次出现的位置
loc = srcStr.lastIndexOf(pattern); // 最后一个匹配串的位置
if (frontOrBack.equalsIgnoreCase(front)) {
if (loc != -1)
result = srcStr.substring(0, loc); // 截取子串
if (loc != -1)
result = srcStr.substring(loc + 1, srcStr.length()); // 截取子串
/DateTimePicker/src/com/wwj/datetimepicker/DateTimePickerActivity.java
package com.wwj.
import android.app.A
import android.os.B
import android.view.V
import android.view.View.OnClickL
import android.widget.EditT
* 时间拾取器界面
* @author wwj_748
public class DateTimePickerActivity extends Activity {
/** Called when the activity is first created. */
private EditText startDateT
private EditText endDateT
private String initStartDateTime = 日 14:44; // 初始化开始时间
private String initEndDateTime = 日 17:44; // 初始化结束时间
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 两个输入框
startDateTime = (EditText) findViewById(R.id.inputDate);
endDateTime = (EditText) findViewById(R.id.inputDate2);
startDateTime.setText(initStartDateTime);
endDateTime.setText(initEndDateTime);
startDateTime.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
DateTimePickDialogUtil dateTimePicKDialog = new DateTimePickDialogUtil(
DateTimePickerActivity.this, initEndDateTime);
dateTimePicKDialog.dateTimePicKDialog(startDateTime);
endDateTime.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
DateTimePickDialogUtil dateTimePicKDialog = new DateTimePickDialogUtil(
DateTimePickerActivity.this, initEndDateTime);
dateTimePicKDialog.dateTimePicKDialog(endDateTime);
自定义界面:/DateTimePicker/res/layout/common_datetime.xml
(责任编辑:幽灵学院)
------分隔线----------------------------
一.概述 单例模式是设计模式中最简单的一种,但是它没有设计模式中的那种各种对象之间...
今天看到百度手机助手首页上的滑动效果非常nice,主要功能归结为: 1、当手指上划时,...
Android中的消息处理实例与分析摘要 本文介绍了Android中的消息处理机制,给出了Andro...
通常我们说一个系统不如另一个系统流畅,说的就是前者动画显示不如后者流畅,因此动画...
一、 JNI基础介绍JNI is the Java Native Interface. It defines a way for managed c...
今天我们自定义一个TextView,它的名称叫做RiseNumberTextView,我们在平时使用支付宝...
admin@1744.cc
工作日:9:00-21:00
周 六:9:00-18:00
&&扫一扫关注幽灵学院
广告服务:QQ:Android DatePicker和TimePicker案例
下面以一个让用户选择日期、时间的例子来示范DatePicker和TimePicker的功能和用法
step1:新建一个项目DateAndTimePicker
step2:编写应用的UI界面 &/layout/main.xml
&?xml version=&1.0& encoding=&utf-8&?& &
&LinearLayout xmlns:android=&/apk/res/android& &
& & android:orientation=&vertical& android:layout_width=&fill_parent& &
& & android:layout_height=&fill_parent&& &
& & &TextView android:layout_width=&fill_parent& &
& & & & android:layout_height=&wrap_content& android:text=&选择购买此书的具体时间& /& &
& & &DatePicker android:id=&@+id/datePicker& &
& & & & android:layout_width=&wrap_content& android:layout_height=&wrap_content& &
& & & & android:layout_gravity=&center_horizontal&/& &
& & &TimePicker android:id=&@+id/timePicker& &
& & & & android:layout_width=&wrap_content& android:layout_height=&wrap_content& &
& & & & android:layout_gravity=&center_horizontal&/& &
& & &EditText android:layout_width=&fill_parent& &
& & & & android:layout_height=&wrap_content& android:editable=&false& &
& & & & android:cursorVisible=&false& &
& & & & android:id=&@+id/show& /& &
&/LinearLayout& &
step3:主程序MainActivity.java
package cn.roco. &
import java.util.C &
import android.app.A &
import android.os.B &
import android.widget.DateP &
import android.widget.DatePicker.OnDateChangedL &
import android.widget.EditT &
import android.widget.TimeP &
import android.widget.TimePicker.OnTimeChangedL &
public class MainActivity extends Activity { &
& & /** Called when the activity is first created. */ &
& & @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 calendar = Calendar.getInstance(); &
& & & & year = calendar.get(Calendar.YEAR); &
& & & & month = calendar.get(Calendar.MONTH); &
& & & & day = calendar.get(Calendar.DAY_OF_MONTH); &
& & & & hour = calendar.get(Calendar.HOUR); &
& & & & minute = calendar.get(Calendar.MINUTE); &
& & & & datePicker.init(year, month, day, new OnDateChangedListener() { &
& & & & & & @Override &
& & & & & & public void onDateChanged(DatePicker view, int year, int month, &
& & & & & & & & & & int day) { &
& & & & & & & & MainActivity.this.year = &
& & & & & & & & MainActivity.this.month = &
& & & & & & & & MainActivity.this.day = &
& & & & & & & & // 显示时间 &
& & & & & & & & showDate(year, month, day, hour, minute); &
& & & & & & } &
& & & & }); &
& & & & timePicker.setOnTimeChangedListener(new OnTimeChangedListener() { &
& & & & & & @Override &
& & & & & & public void onTimeChanged(TimePicker view, int hour, int minute) { &
& & & & & & & & MainActivity.this.hour = &
& & & & & & & & MainActivity.this.minute = &
& & & & & & & & // 显示时间 &
& & & & & & & & showDate(year, month, day, hour, minute); &
& & & & & & } &
& & & & }); &
& & private void showDate(int year, int month, int day, int hour, int minute) { &
& & & & EditText show = (EditText) findViewById(R.id.show); &
& & & & show.setText(&您的购买日期为:& + year + &年& + month + &月& + day + &日 & + hour &
& & & & & & & & + &时& + minute + &分 &); &
step4:部署应用到模拟器上,并选择日期和时间
& & & & & & & & & &&& & & & & & & & & &&
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。当前位置: &
本文章来给各位同学介绍自定义Android日期时间选择控件DateTimePickerDialog方法,有需要了解的同学不防进入参考。
Android系统提供了DatePicker、TimePicker、DatePickerDialog、TimePickerDialog控件用于的选择和设置,但是它们都是相对独立的,不能方便的设置&yyyy-MM-dd HH:mm:ss&型日期时间,下面是使用这几种组件自定义的一个日期时间选择控件DateTimePickerDialog,可以方便的设置&yyyy-MM-dd HH:mm:ss&型日期时间,&yyyy-MM-dd&型日期和&HH:mm:ss&型时间,代码实现:
DateTimePickerDialog.javapackage me.gogogogo.import java.text.SimpleDateFimport java.util.Cimport me.gogogogo.activity.R;import android.app.Aimport android.app.AlertDimport android.app.DatePickerDimport android.app.TimePickerDimport android.content.DialogIimport android.widget.DatePimport android.widget.EditTimport android.widget.LinearLimport android.widget.DatePicker.OnDateChangedLimport android.widget.TimePimport android.widget.TimePicker.OnTimeChangedL/**&* 日期时间选择控件 &* @author 大漠&*/public class DateTimePickerDialog implements& OnDateChangedListener,OnTimeChangedListener{&private DatePicker dateP&private TimePicker timeP&private AlertD&private String dateT&private String initDateT&private A&&/**& * 日期时间弹出选择框构& * @param activity:调用的父activity& */&public DateTimePickerDialog(Activity activity)&{&&this.activity =&}&&public void init(DatePicker datePicker,TimePicker timePicker)&{&&Calendar calendar= Calendar.getInstance();&&initDateTime=calendar.get(Calendar.YEAR)+&-&+calendar.get(Calendar.MONTH)+&-&+&&&&calendar.get(Calendar.DAY_OF_MONTH)+& &+&&&&calendar.get(Calendar.HOUR_OF_DAY)+&:&+&&&&calendar.get(Calendar.MINUTE)+&&&&calendar.get(Calendar.SECOND);&&datePicker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH), this);&&timePicker.setCurrentHour(calendar.get(Calendar.HOUR_OF_DAY));&&timePicker.setCurrentMinute(calendar.get(Calendar.MINUTE));&}&&/**& * 弹出日期时间选择框& * @param dateTimeTextEdite 需要设置的日期时间文本编辑框& * @param type: 0为日期时间类型:yyyy-MM-dd HH:mm:ss& * &&&&&&& 1为日期类型:yyyy-MM-dd& * &&&&&&& 2为时间类型:HH:mm:ss& * @return& */&public AlertDialog dateTimePicKDialog(final EditText dateTimeTextEdite, int type)&{&&Calendar c = Calendar.getInstance();&&switch (type) {&&case 1:&&&new DatePickerDialog(activity,&&&&&new DatePickerDialog.OnDateSetListener() {&&&&&&public void onDateSet(DatePicker datePicker, int year, int monthOfYear,&&&&&&&&int dayOfMonth) {&&&&&&&Calendar calendar = Calendar.getInstance();&&&&&&&calendar.set(datePicker.getYear(), datePicker.getMonth(),&&&&&&&&&datePicker.getDayOfMonth());&&&&&&&SimpleDateFormat sdf = new SimpleDateFormat(&yyyy-MM-dd&);&&&&&&&dateTime=sdf.format(calendar.getTime());&&&&&&&dateTimeTextEdite.setText(dateTime);&&&&&&}&&&&&},&&&&&c.get(Calendar.YEAR),&&&&&c.get(Calendar.MONTH),&&&&&c.get(Calendar.DATE)).show();&&&&&case 2:&&&new TimePickerDialog(activity, &&&&&new TimePickerDialog.OnTimeSetListener() {&&&&&&public void onTimeSet(TimePicker timePicker, int hourOfDay, int minute) {&&&&&&&Calendar calendar = Calendar.getInstance();&&&&&&&calendar.set(Calendar.YEAR, Calendar.MONTH,&&&&&&&&&Calendar.DAY_OF_MONTH, timePicker.getCurrentHour(),&&&&&&&&&timePicker.getCurrentMinute());&&&&&&&SimpleDateFormat sdf = new SimpleDateFormat(&HH:mm:ss&);&&&&&&&dateTime=sdf.format(calendar.getTime());&&&&&&&dateTimeTextEdite.setText(dateTime);&&&&&&}&&&&&}, &&&&&c.get(Calendar.HOUR_OF_DAY), &&&&&c.get(Calendar.MINUTE), &&&&&true).show();&&&&&default:&&&LinearLayout dateTimeLayout& = (LinearLayout) activity.getLayoutInflater().inflate(R.layout.datetime, null);&&&datePicker = (DatePicker) dateTimeLayout.findViewById(R.id.datepicker);&&&timePicker = (TimePicker) dateTimeLayout.findViewById(R.id.timepicker);&&&init(datePicker,timePicker);&&&timePicker.setIs24HourView(true);&&&timePicker.setOnTimeChangedListener(this);&&&&&&&&ad = new AlertDialog.Builder(activity).setIcon(R.drawable.datetimeicon).setTitle(initDateTime).setView(dateTimeLayout).setPositiveButton(&设置&,&&&&&&&new DialogInterface.OnClickListener()&&&&&&&{&&&&&&&&public void onClick(DialogInterface dialog,&&&&&&&&&&int whichButton)&&&&&&&&{&&&&&&&&&dateTimeTextEdite.setText(dateTime);&&&&&&&&}&&&&&&&}).setNegativeButton(&取消&,&&&&&&&new DialogInterface.OnClickListener()&&&&&&&{&&&&&&&&public void onClick(DialogInterface dialog,&&&&&&&&&&int whichButton)&&&&&&&&{&&&&&&&&&dateTimeTextEdite.setText(&&);&&&&&&&&}&&&&&&&}).show();&&&&&&onDateChanged(null, 0, 0, 0);&&&&&}&}&&public void onTimeChanged(TimePicker view, int hourOfDay, int minute)&{&&onDateChanged(null, 0, 0, 0);&}&public void onDateChanged(DatePicker view, int year, int monthOfYear,&&&int dayOfMonth)&{&&Calendar calendar = Calendar.getInstance();&&calendar.set(datePicker.getYear(), datePicker.getMonth(),&&&&datePicker.getDayOfMonth(), timePicker.getCurrentHour(),&&&&timePicker.getCurrentMinute());&&SimpleDateFormat sdf = new SimpleDateFormat(&yyyy-MM-dd HH:mm:ss&);&&dateTime=sdf.format(calendar.getTime());&&ad.setTitle(dateTime);&}&}
布局文件:datetime.xml
&?xml version=&1.0& encoding=&utf-8&?&&LinearLayout xmlns:android=&/apk/res/android&&android:orientation=&vertical& &android:layout_width=&fill_parent&&android:layout_height=&fill_parent&&&&DatePicker &&&& android:id=&@+id/datepicker&&&android:layout_width=&fill_parent& &&android:layout_height=&wrap_content& /&&&TimePicker &&&& android:id=&@+id/timepicker&&&android:layout_width=&fill_parent& &&android:layout_height=&wrap_content& /&&/LinearLayout&
使用实例:MainActivity.java
package me.gogogogo.import me.gogogogo.util.DateTimePickerDimport android.os.Bimport android.view.Vimport android.view.View.OnClickLimport android.widget.EditTimport android.app.Apublic class MainActivity extends Activity {&private EditT&private EditT&private EditT&&& public void onCreate(Bundle savedInstanceState) {&&&&&&& super.onCreate(savedInstanceState);&&&&&&& setContentView(R.layout.main);&&&&&&& &&&&&&& datetime = (EditText) this.findViewById(R.id.datetime);&&&&&&& date = (EditText) this.findViewById(R.id.date);&&&&&&& time = (EditText) this.findViewById(R.id.time);&&&&&&& &&&&&&& datetime.setOnClickListener(new DateTimeOnClick());&&&&&&& date.setOnClickListener(new DateOnClick());&&&&&&& time.setOnClickListener(new TimeOnClick());&&& }&&& &&& private final class DateTimeOnClick implements OnClickListener{&&public void onClick(View v) {&&&DateTimePickerDialog dateTimePicKDialog = new DateTimePickerDialog(&&&&&MainActivity.this);&&&dateTimePicKDialog.dateTimePicKDialog(datetime, 0);&&}&&& }&&& &&& private final class DateOnClick implements OnClickListener{&&& &public void onClick(View v) {&&& &&DateTimePickerDialog dateTimePicKDialog = new DateTimePickerDialog(&&&&&MainActivity.this);&&&dateTimePicKDialog.dateTimePicKDialog(date, 1);&&}&&& }&&& &&& private final class TimeOnClick implements OnClickListener{&&& &public void onClick(View v) {&&& &&DateTimePickerDialog dateTimePicKDialog = new DateTimePickerDialog(&&&&&MainActivity.this);&&&dateTimePicKDialog.dateTimePicKDialog(time, 2);&&}&&& }}
设置之后日期时间控件效果如下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
getDayOfMonth()
获取选择的天数
getMonth()
获取选择的月份
获取选择的年份
year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)
初始化年月日
setEnabled(boolean
设置视图的启用状态
updateDate(int
year, int monthOfYear, int dayOfMonth)
DatePicker支持的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
getBaseline()
返回窗口空间的文本基准线到其顶边界的偏移量。如果这个部件不支持基准线对齐,
这个方法返回-1/。
getCurrentHour()
获取当前时间的小时部分。 返回值当前小时(0-23)
getCurrentMinute()
获取当前时间的分钟部分
is24HourView()
获取当前设置是否是24小时制。 如果是24小时制返回true,否则返回false。
setCurrentHour(Integer currentHour)
设置当前小时
setCurrentMinute(Integer currentMinute)
设置当前分钟(0-59)
setEnabled(boolean
设置可用的视图状态。可用的视图状态的解释在子类中改变。
setIs24HourView(Boolean is24HourView)
设置是24小时还是上午/下午制
setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener)
设置时间调整事件的回调函数。
选择日期和时间:
运行效果图:
程序代码:
package com.jph.
import java.util.C
import android.app.A
import android.os.B
import android.widget.DateP
import android.widget.DatePicker.OnDateChangedL
import android.widget.EditT
import android.widget.TimeP
import android.widget.TimePicker.OnTimeChangedL
import android.widget.T
* Description:
* 选择日期时间
* 本实例通过DatePicker(时间选择器)和
* TimePicker(日期选择器)来提供用户选择日期和时间
* 为了获取选择的日期程序为DatePicker注册了OnDateChangedListener
* 监听器,为了获取选择的时间程序为TimePicker注册OnTimeChangedListener
* @author jph
public class ChooseDate extends Activity
// 定义5个记录当前时间的变量
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()
public void onDateChanged(DatePicker arg0, int year
, int month, int day)
ChooseDate.this.year =
ChooseDate.this.month =
ChooseDate.this.day =
// 显示当前日期、时间
showDate(year, month, day, hour, minute);
Toast.makeText(ChooseDate.this,"您选择的日期:"+year+"年
+month+"月
"+day+"日", Toast.LENGTH_SHORT).show();
// 为TimePicker指定监听器
timePicker.setOnTimeChangedListener(new OnTimeChangedListener()
public void onTimeChanged(TimePicker view
, int hourOfDay, int minute)
ChooseDate.this.hour = hourOfD
ChooseDate.this.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布局文件:
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。}

我要回帖

更多关于 自定义uiimagepicker 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信