DatePicker(输入日期的控件) DatePicker控件可用于输入日期,日期的范围是1900-1-1到2100-12-31。
下面我们就来学习一下输入日期控件的使用方法:
在学习之前,我们先来查看一下Android API文档中关于DatePicker类的说明:这是一个基于calendar类上可以选择年月日的视图很像一个布局文件,对于如何使用日期控件的对话框,可以查看 DatePickerDialog 方法,注意到它里面有一个匿名内部类,表示当日期发生改变的时候就会触发这个方法。
程序实现:
1. 布局文件
[html] view plaincopy
- <?xml version="1.0" encoding="utf-8"?>
- <ScrollView
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:scrollbars="vertical" >
- <LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <DatePicker
- android:id="@+id/dataPicker"
- 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" />
- <!-- 用文本控件来显示数字的时间 -->
- <TextView
- android:id="@+id/textview"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:textSize="18dp" />
- </LinearLayout>
- </ScrollView>
2. 程序主要代码[java] view plaincopy
- public class DatePickerDemoActivity extends Activity implements OnDateChangedListener,
- OnTimeChangedListener {
- private TextView textView;
- private DatePicker datePicker;
- private TimePicker timePicker;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- initComponent();
- datePicker.init(2013, 6, 3, this);// 初始化日期
- timePicker.setIs24HourView(true);// 显示时间是否按照24小时制
- timePicker.setOnTimeChangedListener(this);
- }
- // 时间触发事件
- @Override
- public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
- // TODO Auto-generated method stub
- Toast.makeText(DatePickerDemoActivity.this,
- "housOfDay: " + hourOfDay + "minute: " + minute, 1).show();
- }
- // 日期触发事件
- @Override
- public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
- // TODO Auto-generated method stub
- // 这边调整一个日期当时间,需要用到一个日期类calendar
- Calendar calendar = Calendar.getInstance();
- calendar.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(),
- timePicker.getCurrentHour(), timePicker.getCurrentMinute());
- //将当前时间进行格式化
- SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月DD日 HH:mm");
- textView.setText(format.format(calendar.getTime()));
- }
- private void initComponent() {
- datePicker = (DatePicker) findViewById(R.id.dataPicker);
- timePicker = (TimePicker) findViewById(R.id.timePicker);
- textView = (TextView) findViewById(R.id.textview);
- }
- }
3. 程序执行结果
联系客服