第11章、日期DatePicker与时间TimePicker控件(从零开始学Android)

来源:互联网 发布:javascript贪吃蛇代码 编辑:程序博客网 时间:2024/05/16 10:20

http://blog.csdn.net/jianghuiquan/article/details/8294126

在Android App应用中,设置日期和时间时间也是经常遇见的,下面我们一起学习一下。

  我们需要学习Android中的基本控件:(1)日期选择控件DatePicker (2)时间选择控件TimePicker。

  

一、设计登录窗口

  打开“res/layout/activity_main.xml”文件。

   1、分别从工具栏向activity拖出1个日期选择控件DatePicker、 1个时间选择控件TimePicker、1个按钮Button。控件来自Time&Date、Form Widgets。

  

  2、打开activity_main.xml文件。

  我们把自动生成的代码修改成如下代码,具体为:

  (1)DatePicker的id修改为tody。

  (2)TimePicker的id修改为now;

  (3)Button的id修改为save,其文本修改为"保存"。

  

  3、界面如下:

  

二、单击事件 

  打开“src/com.genwoxue.datepickertimepicker/MainActivity.java”文件。

  然后输入以下代码:

  

  我们着重分析一下带有浅蓝色背景部分。

  1、第①部分

  导入与DatePicker与TimePicker相关的2个包。

  2、第②部分

  声明3个控件变量。

  3、第③部分

  (1)findViewById()方法完成3个控件的捕获。

  (2)“保存”按钮添加单击监听事件:btnSave.setOnClickListener(new SaveOnClickListener())。

  4、第④部分

  getYear()、getMonth()、getDayOfMonth()方法获取年、月、日。

  5、第⑤部分

  getCurrentHour()、getCurrentMinute()方法获取时、分。

  6、第⑥部分

  使用Toast显示日期DatePicker、时间TimePicker控件选择的日期与时间。

  效果如下:

  

三、附代码

  1、activity_main.xml源码  

[xml] view plaincopy
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     tools:context=".MainActivity" >  
  6.   
  7.     <DatePicker  
  8.         android:id="@+id/today"  
  9.         android:layout_width="wrap_content"  
  10.         android:layout_height="wrap_content"  
  11.         android:layout_alignParentLeft="true"  
  12.         android:layout_alignParentTop="true" />  
  13.   
  14.     <TimePicker  
  15.         android:id="@+id/now"  
  16.         android:layout_width="wrap_content"  
  17.         android:layout_height="wrap_content"  
  18.         android:layout_alignParentLeft="true"  
  19.         android:layout_below="@+id/today" />  
  20.   
  21.     <Button  
  22.         android:id="@+id/save"  
  23.         android:layout_width="wrap_content"  
  24.         android:layout_height="wrap_content"  
  25.         android:layout_below="@+id/now"  
  26.         android:text="保存" />  
  27.   
  28. </RelativeLayout>  

 

  2、MainActivity.java源码

[java] view plaincopy
  1. package com.genwoxue.datepickertimepicker;  
  2.   
  3. import android.os.Bundle;  
  4. import android.app.Activity;  
  5. import android.view.View;  
  6. import android.widget.DatePicker;  
  7. import android.widget.TimePicker;  
  8. import android.widget.Button;  
  9. import android.widget.Toast;  
  10. import android.view.View.OnClickListener;  
  11.   
  12. public class MainActivity extends Activity {  
  13.   
  14.     private DatePicker dpToday=null;  
  15.     private TimePicker tpNow=null;  
  16.     private Button btnSave=null;  
  17.       
  18.     @Override  
  19.     protected void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         setContentView(R.layout.activity_main);  
  22.           
  23.         dpToday=(DatePicker)super.findViewById(R.id.today);  
  24.         tpNow=(TimePicker)super.findViewById(R.id.now);  
  25.         btnSave=(Button)super.findViewById(R.id.save);  
  26.         btnSave.setOnClickListener(new SaveOnClickListener());  
  27.     }  
  28.       
  29.     private class SaveOnClickListener implements OnClickListener{  
  30.         public void onClick(View view){  
  31.             int iYear=0;  
  32.             int iMonth=0;  
  33.             int iDay=0;  
  34.             String sDate="";  
  35.             iYear=dpToday.getYear();  
  36.             iMonth=dpToday.getMonth()+1;  
  37.             iDay=dpToday.getDayOfMonth();  
  38.             sDate="日期:"+String.valueOf(iYear)+"年"+String.valueOf(iMonth)+"月"+String.valueOf(iDay)+"日";  
  39.               
  40.             int iHour=0;  
  41.             int iMin=0;  
  42.             String sTime="";  
  43.             iHour=tpNow.getCurrentHour();  
  44.             iMin=tpNow.getCurrentMinute();  
  45.             sTime="时间:"+String.valueOf(iHour)+"时"+String.valueOf(iMin)+"分";  
  46.               
  47.             Toast.makeText(getApplicationContext(), sDate+sTime,Toast.LENGTH_LONG).show();            
  48.         }  
  49.     }  
  50. }  


 

0 0
原创粉丝点击