DatePickerAndTimePicker分别是我们的日期控件和时间控件因为常常一起使用我们在这里就做成了一个案例。
实现的一个思路基本上都是差不多的:
1、定义控件并获取控件
2、通过Calendar.getInstance()方法获取一个日历
3、通过上面的日历对象获取里面的年月日时分
4、通过setTitle()方法设置标题内容把我们获取的时间显示出来
注意:月份是从0开始的所以要进行+1的操作
5、设置DatePicker和TimePicker的监听器。
6、设置标题的时间
-------------------------------------------------------------------------------------------------------------------
布局文件的代码:
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- 日期 -->
<DatePicker
android:id="@+id/dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<!-- 时间-->
<TimePicker
android:id="@+id/tp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</LinearLayout>
</RelativeLayout>
-----------------------------------------------------------------------------------------------------------------
Activity的代码:
package com.example.datepickerandtimepicker;
import java.util.Calendar;
import android.os.Bundle;
import android.app.Activity;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
public class MainActivity extends Activity{
private DatePicker dp;
private TimePicker tp;
private TextView tv;
private Calendar cal;
//年、月、日、时、分
private int year;
private int month;
private int day;
private int hour;
private int minute;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dp=(DatePicker) findViewById(R.id.dp);
tp=(TimePicker) findViewById(R.id.tp);
//获取一个日历的对象
cal=Calendar.getInstance();
//获取年月日时分的信息
year=cal.get(Calendar.YEAR);
//计数是从0开始的所以要加1
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);
//初始化 第一个参数年 第二个参数月 第三个参数日 监听时间
dp.init(year, month, day, new OnDateChangedListener() {
public void onDateChanged(DatePicker arg0, int year, int month, int dayofMonth) {
//设置标题
setTitle(year+"-"+(month+1)+"-"+dayofMonth);
}
});
//时间直接设置监听事件
tp.setOnTimeChangedListener(new OnTimeChangedListener() {
public void onTimeChanged(TimePicker arg0, int arg1, int arg2) {
setTitle(arg1+":"+arg2);
}
});
}
}
------------------------------------------------------------------------------------------------------------------------
这两个控件一般用到的不多大家知道怎么使用就可以了。最好是做一个案例以后要是用的时候可以直接使用或用来参考。