安卓控件使用系列18:DatePicker日期控件和TimePicker时间控件的使用

日期和时间是任何一个系统中很重要的两块内容,我们在这里来分享一下DatePicker日期控件和TimePicker时间控件在安卓中是如何使用的。

这个例子实现的是时间和日期控件的展示,并根据时间或日期的变化来更新显示的信息。

整体思路:在xml文件中定义一个DatePicker控件、TimePicker控件和TextView控件,在活动中实现OnDateChangedListener,OnTimeChangedListener,初始化日期控件的日期,获取当前的日期和时间,并显示在TextView上,设置TimePicker控件的时间显示格式并注册setOnTimeChangedListener这个事件;onTimeChanged这个事件是时间控件触发的事件,使用Toast方式输出当前时间信息;onDateChanged这个事件是日期控件触发的事件,在里面通过获取当前的时间实例化Calendar类,并格式化时间显示方式,将该显示方式下的当前日期信息绑定到TextView控件上显示。

activity_main.xml文件:

<LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        >
     <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"
         />
    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="16dp"/>
    
</LinearLayout>

MainActivity.java文件:

public class MainActivity extends Activity implements OnDateChangedListener,OnTimeChangedListener{
    private TextView textView;
    private DatePicker datePicker;
    private TimePicker timePicker;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		textView=(TextView)findViewById(R.id.textview);
		datePicker=(DatePicker)findViewById(R.id.datePicker);
		timePicker=(TimePicker)findViewById(R.id.TimePicker);
		datePicker.init(2015, 1, 25, this);//初始化日期
		timePicker.setIs24HourView(true);//显示时间是否按24小时制
		timePicker.setOnTimeChangedListener(this);//注册事件
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
	
//时间控件的触发
	@Override
	public void onTimeChanged(TimePicker arg0, int hour, int minute) {
		// TODO Auto-generated method stub
		Toast.makeText(MainActivity.this, "hour:"+hour+"  minute:"+minute, 1).show();
	}
//日期控件的触发
	@Override
	public void onDateChanged(DatePicker arg0, int arg1, int arg2, int arg3) {
		// TODO Auto-generated method stub
		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()));
	}

}



你可能感兴趣的:(安卓,Datepicker,TimePicker,日期控件,时间控件)