Android日期时间选择控件使用详解

来源:互联网 发布:如何根据域名找到ip 编辑:程序博客网 时间:2024/05/19 03:43

Android中的日期时间选择控件主要分为两种,一种是嵌入到Activity中,另一种是弹出框的形式。下面直接使用一个小例子介绍一下日期和时间选择控件的两种使用形式。

1、布局文件中的日期时间选择控件,用于第一种形式使用。两个按钮用于弹出日期和时间选择控件。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <TimePicker        android:id="@+id/timePicker1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@+id/datePicker1"        android:layout_marginTop="14dp" />    <DatePicker        android:id="@+id/datePicker1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true" />    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="doClick"        android:layout_alignParentLeft="true"        android:layout_below="@+id/timePicker1"        android:text="弹出日期选择控件" />    <Button        android:id="@+id/button2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="doClick"        android:layout_below="@+id/timePicker1"        android:layout_toRightOf="@+id/button1"        android:text="弹出时间选择控件" /></RelativeLayout>
2、使用Java代码实现日期和时间的修改
package com.cx.testdemo;import java.util.Calendar;import android.app.Activity;import android.app.DatePickerDialog;import android.app.DatePickerDialog.OnDateSetListener;import android.app.TimePickerDialog;import android.app.TimePickerDialog.OnTimeSetListener;import android.os.Bundle;import android.view.View;import android.widget.DatePicker;import android.widget.DatePicker.OnDateChangedListener;import android.widget.TimePicker;import android.widget.TimePicker.OnTimeChangedListener;public class MainActivity extends Activity{private DatePicker datePicker;private TimePicker timePicker;//用于获取当前时间private Calendar cal;private int year;private int month;private int day;private int hour;private int minute;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取日历对象cal = Calendar.getInstance();//获取年月日时分秒的信息year = cal.get(Calendar.YEAR);month = cal.get(Calendar.MONTH) + 1;day = cal.get(Calendar.DAY_OF_MONTH);hour = cal.get(Calendar.HOUR_OF_DAY);minute = cal.get(Calendar.MINUTE);setTitle(year + "-" + month + "-" + day + " " + hour + ":" + minute);datePicker = (DatePicker) findViewById(R.id.datePicker1);timePicker =  (TimePicker) findViewById(R.id.timePicker1);//datePicker初始化,此处月份不做加1处理datePicker.init(year, cal.get(Calendar.MONTH), day, new OnDateChangedListener() {@Overridepublic void onDateChanged(DatePicker view, int year, int monthOfYear,int dayOfMonth) {// TODO Auto-generated method stubsetTitle(year + "-" + (monthOfYear + 1) + "-" + dayOfMonth);}});timePicker.setOnTimeChangedListener(new OnTimeChangedListener(){@Overridepublic void onTimeChanged(TimePicker view, int hourOfDay, int minute) {// TODO Auto-generated method stubsetTitle(hourOfDay + ":" + minute);}});}public void doClick(View v){switch (v.getId()) {case R.id.button1://弹出类型日期选择器实现new DatePickerDialog(this, new OnDateSetListener() {@Overridepublic void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {// TODO Auto-generated method stubsetTitle(year + "-" + (monthOfYear + 1) + "-" + dayOfMonth);}}, year, cal.get(Calendar.MONTH), day).show();break;case R.id.button2://弹出类型时间选择器实现,最后一个参数为是否使用24小时制new TimePickerDialog(this, new OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay, int minute) {// TODO Auto-generated method stubsetTitle(hourOfDay + ":" + minute);}}, hour, minute, false).show();break;}}}
源码下载

0 0
原创粉丝点击