Android中TimePicker与DatePicker时间日期选择组件的使用实例
作者:剑萧舞蝶
这篇文章主要介绍了Android中TimePicker时间选择与DatePicker日期选择组件的使用实例,这两个组件加上去的效果就是我们平时在iOS上设置闹钟时调整时间类似的滚动选项,需要的朋友可以参考下
效果和代码都非常直观:
实例1:TimePicker
<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" > <TimePicker android:id="@+id/timePic1" android:layout_height="wrap_content" android:layout_width="match_parent"/> <Button android:id="@+id/buttone1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/timePic1" android:text="获取TimePick时间"/> </RelativeLayout>
package com.android.xiong.times; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TimePicker; import android.widget.TimePicker.OnTimeChangedListener; public class MainActivity extends Activity { private TimePicker timePick1; private Button buttone1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); timePick1=(TimePicker)findViewById(R.id.timePic1); buttone1=(Button)findViewById(R.id.buttone1); OnChangeListener buc=new OnChangeListener(); buttone1.setOnClickListener(buc); //是否使用24小时制 timePick1.setIs24HourView(true); TimeListener times=new TimeListener(); timePick1.setOnTimeChangedListener(times); } class OnChangeListener implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub int h=timePick1.getCurrentHour(); int m=timePick1.getCurrentMinute(); System.out.println("h:"+h+" m:"+m); } } class TimeListener implements OnTimeChangedListener{ /** * view 当前选中TimePicker控件 * hourOfDay 当前控件选中TimePicker 的小时 * minute 当前选中控件TimePicker 的分钟 */ @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub System.out.println("h:"+ hourOfDay +" m:"+minute); } } @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; } }
实例2:DatePicker
<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" > <DatePicker android:id="@+id/datePick1" android:layout_height="wrap_content" android:layout_width="match_parent" /> <Button android:id="@+id/button1" android:layout_below="@id/datePick1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="获取DatePicker的值"/> </RelativeLayout>
package com.android.xiong.datepicker; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.DatePicker; public class MainActivity extends Activity { private DatePicker datePicker1; private Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); datePicker1=(DatePicker)findViewById(R.id.datePick1); //设置默认的时间 比如2055年 9月9日 datePicker1.updateDate(2012, 8, 9); button1=(Button)findViewById(R.id.button1); OnClicLisers cl=new OnClicLisers(); button1.setOnClickListener(cl); } class OnClicLisers implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub int y=datePicker1.getYear(); int m=datePicker1.getMonth()+1; int d=datePicker1.getDayOfMonth(); System.out.println("y:"+y+" m:"+m+" d:"+d); } } @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; } }