在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();
}
}
}