首先说一下calendar,calendar并非android自己的东西,而是java中的东西,java中一个非常强大的关于时间操作的类。这里我就不详细说了,这个东西方法和使用技巧是在是太多了。我们这里主要搞一下android中的控件。
----------------------------------------------------------------------------
DatePicker:日期选择器。
代码应用实例:
package cn.com.chenzheng_java; import android.app.Activity; import android.os.Bundle; import android.widget.DatePicker; import android.widget.Toast; import android.widget.DatePicker.OnDateChangedListener; public class DatePickerActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.datepicker); DatePicker datePicker = (DatePicker)this.findViewById(R.id.datePicker1); /* 初始化时间, init(int year, int monthOfYear, int dayOfMonth,OnDateChangedListener onDateChangedListener) * year代表那一年 * monthOfYear代表月,注意这里的月是从0开始的哦。例如我们指定三月的话,要传递进去2 * dayOfMonth 一个月中的第几天 * onDateChangedListener当我们对时间进行了修改后,执行的监听程序 * */ datePicker.init(2011, 3, 11, new DatePicker.OnDateChangedListener() { /** * 当时间被修改时,执行的方法 */ @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { Toast.makeText(DatePickerActivity.this, "year="+year+" monthOfYear="+monthOfYear, Toast.LENGTH_LONG).show(); } }); } }
这里我们可以看到,我们已进入当前窗口,日期选择控件就显示出来了,可能很多时候,我们根本不想选择日期,我们希望,我们可以通过点击按钮或者图片了,让它弹出来一个对话框,对话框里放着我们的日期选择器。这个时候,我们就要用到另一个控件了,DatePickerDialog。DatePickerDialog就是一个加载在对话框中的DatePicker。这里就不多说了,两者的用法基本上一样。
-------------------------------------------------------------------------
TimePicker:时间选择器
代码示例:
package cn.com.chenzheng_java; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.TimePicker; import android.widget.Toast; public class TimePickerActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.timepicker); TimePicker timePicker = (TimePicker)findViewById(R.id.timePicker1); timePicker.setIs24HourView(true); timePicker.setCurrentHour(12); timePicker.setCurrentMinute(23); // timePicker.setVisibility(View.VISIBLE); timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { Toast.makeText(TimePickerActivity.this, "时间修改为hour:"+hourOfDay+" minute:"+minute, Toast.LENGTH_LONG).show(); } }); } }
其中的布局文件示例:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 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"></TimePicker> </LinearLayout>