
DatePicker和TimePicker控件
使用DatePicker和TimePicker,故名思议,用户可以对时间进行选择。XML代码如下:
 <?xml version="1.0" encoding="utf-8"?> 
 <LinearLayout ...... > 
     <TextView ......  android:id="@+id/ui_date1"/>
     <DatePicker android:layout_width="wrap_content"
         android:layout_height="wrap_content" 
         android:id="@+id/ui_datepick"/> 
 
     <TextView ......  android:id="@+id/ui_time1"/> 
     <TimePicker android:layout_width="wrap_content"
         android:layout_height="wrap_content" 
         android:id="@+id/ui_timepick"/>   
 </LinearLayout>
如果我们不在代码中设置日期和时间的值,初始时,DatePiker和TimePiker将设置为当前日期和时间。对于这两个控件,在代码中,我们可以它们进行读写操作。对于日期有:
  TextView dateText = (TextView)findViewById(R.id.ui_date1);
TextView dateText = (TextView)findViewById(R.id.ui_date1);
 dateText.setText("Set default date to 2013/1/1"); 
 DatePicker dp = (DatePicker)findViewById(R.id.ui_datepick); 
 //对DatePicker进行设置,使用dp.init(year, monthOfYear, dayOfMonth, onDateChangedListener) ,需要注意,月份的有效值是“0-11”,例如dp.init(2013, 1, 1, null);  则是设置2013.2.1 。
 dp.init(2013,0,1,new DatePicker.OnDateChangedListener() {            
     //通过onDateChangedListener对日期发生变化进行触发 
     public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
         //注意:会被触发两次。由于Picker实际上包含日历和日期转盘两部分(会自动同步),日历和日期变化产生两次触发。但日历变化可以自动使日期变化,即则通过日历的日期变化只触发一次。
         Log.d("UiDateTimeTest","set Date to " + year+ "." + (monthOfYear+1)+"."+dayOfMonth);
         
     } 
 }); 
 dp.setCalendarViewShown(false);    //不显示日历部分,只显示日期转盘部分   
对于时间:
 //设置时间发生变化的处理  
 TimePicker.OnTimeChangedListener timeChangedFunc = new TimePicker.OnTimeChangedListener() {   
     @Override 
     public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { 
         Log.d("UiDateTimeTest","Set time to "+hourOfDay + ":" + minute);
     } 
 }; 
 
 TextView timeText = (TextView)findViewById(R.id.ui_time1); 
 timeText.setText("Set default time to 16:00"); 
 TimePicker tp = (TimePicker)findViewById(R.id.ui_timepick); 
 tp.setIs24HourView(true);  
 tp.setCurrentHour(16);  
 tp.setCurrentMinute(0);  
 tp.setOnTimeChangedListener(timeChangedFunc);  //这里用匿名类方式时,Eclipse显示错误,所以本例直接用对象

DigitalClock和AnalogClock控件
数字时钟和模拟时钟如图所示。和其他的空间不同,我们不能对它所显示的时间进行修改,它们将显示系统的实时时间。使用它们的一个方便是,我们不需要进行代码编写,它们可以自动地不断地进行同步和更新时间。XML如下:
 <?xml version="1.0" encoding="utf-8"?> 
 <LinearLayout …… > 
     <DigitalClock android:layout_width="wrap_content"
         android:layout_height="wrap_content" /> 
     <AnalogClock android:layout_width="wrap_content"
         android:layout_height="wrap_content"/>    
 </LinearLayout>
相关链接: 我的Android开发相关文章
 
                   
                   
                   
                   
                            
 
                             本文详细介绍了Android中的DatePicker和TimePicker控件的使用方法,包括如何设置初始日期与时间、监听日期时间变化等,并展示了DigitalClock和AnalogClock控件的应用。
本文详细介绍了Android中的DatePicker和TimePicker控件的使用方法,包括如何设置初始日期与时间、监听日期时间变化等,并展示了DigitalClock和AnalogClock控件的应用。
           
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   2290
					2290
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            