在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源码
<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" tools:context=".MainActivity" > <DatePicker android:id="@+id/today" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" /> <TimePicker android:id="@+id/now" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/today" /> <Button android:id="@+id/save" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/now" android:text="保存" /> </RelativeLayout>
2、MainActivity.java源码
package com.genwoxue.datepickertimepicker; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.widget.DatePicker; import android.widget.TimePicker; import android.widget.Button; import android.widget.Toast; import android.view.View.OnClickListener; public class MainActivity extends Activity { private DatePicker dpToday=null; private TimePicker tpNow=null; private Button btnSave=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dpToday=(DatePicker)super.findViewById(R.id.today); tpNow=(TimePicker)super.findViewById(R.id.now); btnSave=(Button)super.findViewById(R.id.save); btnSave.setOnClickListener(new SaveOnClickListener()); } private class SaveOnClickListener implements OnClickListener{ public void onClick(View view){ int iYear=0; int iMonth=0; int iDay=0; String sDate=""; iYear=dpToday.getYear(); iMonth=dpToday.getMonth()+1; iDay=dpToday.getDayOfMonth(); sDate="日期:"+String.valueOf(iYear)+"年"+String.valueOf(iMonth)+"月"+String.valueOf(iDay)+"日"; int iHour=0; int iMin=0; String sTime=""; iHour=tpNow.getCurrentHour(); iMin=tpNow.getCurrentMinute(); sTime="时间:"+String.valueOf(iHour)+"时"+String.valueOf(iMin)+"分"; Toast.makeText(getApplicationContext(), sDate+sTime,Toast.LENGTH_LONG).show(); } } }