日期DatePicker与时间TimePicker控件

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

  我们需要学习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,其文本修改为"保存"。

二、单击事件 

  打开“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"
    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/now"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/today"
        android:layout_alignParentLeft="true" />

<Button
        android:id="@+id/save"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/now"
        android:text="@string/save" />

<DatePicker
        android:id="@+id/today"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" />

</RelativeLayout>

2、MainActivity.java源码

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;

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 OnClickListener(){
public void onClick(View v) {
int iYear = 0;
int iMonth = 0;
int iDay = 0;
String sDate = "";
iYear = dpToday.getYear();
iMonth = dpToday.getMonth()+1;//记得加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();
}
});
}

@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;
}
}

时间: 2024-10-03 13:41:32

日期DatePicker与时间TimePicker控件的相关文章

Android 自学之日期DatePicker、时间TimePicker选择器

日期(DatePicker).时间(TimePicker)是两个比较易用的控件,他们都是从帧布局FrameLayout派生而出的:他们在FrameLayout的基础上提供了一些方法来获取当前用户所选择的日期和时间:如果程序需要获取日期和时间,则可以通过为DatePicker添加OnDateChangedListener进行监听,为TimePicker添加OnTimeChangeListenter进行监听来实现. 以一个让用户选择日期和时间的例子来展示下他们的功能和用法. layout/main.

Android开发之DatePicker控件与TimePicker控件

DatePicker控件继承自FrameLayout类,日期选择控件的主要功能是向用户提供包含年.月.日的日期数据并允许用户对其修改. TimePicker控件继承自FrameLayout类,向用户显示一天中的时间,允许用户对其进行修改. DatePicker控件的方法: 1.init() 初始化DatePicker日期选择控件,设置初始显示的年份.月份.日数,设置日期更改监听器.其中有一个monthOfYear参数为初始月份,实际显示的月份是此处设置的值加1. 2.OnDateChangedL

老猪带你玩转自定义控件三——sai大神带我实现ios 8 时间滚轮控件

ios 8 的时间滚轮控件实现了扁平化,带来很好用户体验,android没有现成控件,小弟不才,数学与算法知识不过关,顾十分苦恼,幸好在github上找到sai大神实现代码,甚为欣喜,顾把学习这个控件点滴记录下来,分享给大家.项目原地址https://github.com/saiwu-bigkoo/Android-PickerView. ios 8 滚轮的效果: 而sai大神控件的效果: 哎,妈呀是不是效果95%相识啊. 好了,废话少说,谈谈我从这个控件中收获的心得. 首先,我们要高瞻远瞩看一下

TimePicker控件、帧动画、补间动画

1.TimePicker控件 最近感觉每个开发平台的控件基本都差不多,在Android中控件的事件和.net控件直接写事件有一定的区别,net事件可以直接界面进行事件的绑定哈.不过在Silverlight中,如果用MVVM设计模式的话,也可以自己为控件写Command命令的,可以取代控件的事件. TimePicker控件,也就是事件控件,可以用设置时间的.在页面拖入控件后,默认是显示系统时间的. 1 <TimePicker 2 android:id="@+id/timePicker1&qu

给easyui datebox时间框控件扩展一个清空的实例

给easyui datebox扩展一个清空的实例 步骤一:拓展插件 /** * 给时间框控件扩展一个清除的按钮 */ $.fn.datebox.defaults.cleanText = '清空'; (function ($) { var buttons = $.extend([], $.fn.datebox.defaults.buttons); buttons.splice(1, 0, { text: function (target) { return $(target).datebox("o

SNF开发平台WinForm之十三-时间轴控件使用-SNF快速开发平台3.3-Spring.Net.Framework

一.显示效果如下: 二.在控件库里选择UCTimeAxis 拖拽到窗体里. 三.加入以下代码,在load事件里进行调用就可以运行了. #region 给时间轴控件加载数据 private void UCTimeAxisData() { //增加节点 List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>(); list.Add(new KeyValueP

都昌时间轴控件功能说明

这里展示了使用都昌时间轴控件(DCTimeLine)展示手术排程结果,淡绿色部分是已经开始或者完成的手术,红色为病人死亡的手术,灰色为正在排队中的手术.用户点击手术色块,控件能触发一个事件,应用程序编程响应事件显示对应手术的详细信息.本控件仅仅用于展示已有的手术排程结果,不管手术排程过程.具体如何排程请咨询其他人士. 其他应用 诚邀各位专家点评,提出建议,以帮助我们持续改进,不断进步.我们产品网站 www.dcwriter.cn,联系邮箱 [email protected]

Silverlight 拾取日期和时间的控件-DateTimePicker

实现了一个Sliverlight可拾取时间和日期的控件 先看产品使用时功能: 右侧按键"..."点击后的样子 下方时间选择后的样子 本控件失去焦点后自动弹回下拉框. 目前还存在一点小问题就是无法很好地通过键盘输入编辑时间. 实现过程: 界面就是TextBox.Button.GlobalCalendar和TimePicker的组合使用 <UserControl xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/

javascript JTimer_2.0 时间日历控件使用方法

JS文件下载: 1. CSDN下载地址: http://download.csdn.net/detail/freshflower/5167398 2. 百度文库下载地址: http://wenku.baidu.com/view/e02c670dbb68a98271fefadd http://pan.baidu.com/s/1gdGO4Kj 版本说明 : 相比上一版本优化功能如下: 1. 界面更加美化, 可以显示上个月月末的几天及下个月的前几天; 2. 优化日期选择时对起始年月的设定, 方便选择年