利用Android应用框架提供的DatePicker(日期选择器)和TimePicker(时间选择器),实现日期时间选择器。

Dialog的Content布局文件(date_time_dialog.xml):

<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:padding="10dip" >  <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:text="请选择日期" android:textColor="#FFFFFF" android:textSize="16sp" />  <DatePicker android:id="@+id/date_picker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dip" />  <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dip" android:singleLine="true" android:text="请选择时间" android:textColor="#FFFFFF" android:textSize="16sp" />  <TimePicker android:id="@+id/time_picker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dip" />  </LinearLayout>
</span>

代码中的实现:

<span style="font-size:18px;">package com.easipass.test;  import java.util.Calendar;  import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.InputType;
import android.view.MotionEvent;
import android.view.View;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;  /** * 功能描述:实现日期时间选择器 *  * @author android_ls */
public class DateTimeActivity extends Activity implements View.OnTouchListener {  private EditText etStartTime;  private EditText etEndTime;  @Override public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.main);  etStartTime = (EditText) this.findViewById(R.id.et_start_time);  etEndTime = (EditText) this.findViewById(R.id.et_end_time);  etStartTime.setOnTouchListener(this);  etEndTime.setOnTouchListener(this);  }  @Override public boolean onTouch(View v, MotionEvent event) {  if (event.getAction() == MotionEvent.ACTION_DOWN) {  AlertDialog.Builder builder = new AlertDialog.Builder(this);  View view = View.inflate(this, R.layout.date_time_dialog, null);  final DatePicker datePicker = (DatePicker) view.findViewById(R.id.date_picker);  final TimePicker timePicker = (android.widget.TimePicker) view.findViewById(R.id.time_picker);  builder.setView(view);  Calendar cal = Calendar.getInstance();  cal.setTimeInMillis(System.currentTimeMillis());  datePicker.init(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), null);  timePicker.setIs24HourView(true);  timePicker.setCurrentHour(cal.get(Calendar.HOUR_OF_DAY));  timePicker.setCurrentMinute(Calendar.MINUTE);  if (v.getId() == R.id.et_start_time) {  final int inType = etStartTime.getInputType();  etStartTime.setInputType(InputType.TYPE_NULL);  etStartTime.onTouchEvent(event);  etStartTime.setInputType(inType);  etStartTime.setSelection(etStartTime.getText().length());  builder.setTitle("选取起始时间");  builder.setPositiveButton("确  定", new DialogInterface.OnClickListener() {  @Override public void onClick(DialogInterface dialog, int which) {  StringBuffer sb = new StringBuffer();  sb.append(String.format("%d-%02d-%02d",   datePicker.getYear(),   datePicker.getMonth() + 1,  datePicker.getDayOfMonth()));  sb.append("  ");  sb.append(timePicker.getCurrentHour())  .append(":").append(timePicker.getCurrentMinute());  etStartTime.setText(sb);  etEndTime.requestFocus();  dialog.cancel();  }  });  } else if (v.getId() == R.id.et_end_time) {  int inType = etEndTime.getInputType();  etEndTime.setInputType(InputType.TYPE_NULL);      etEndTime.onTouchEvent(event);  etEndTime.setInputType(inType);  etEndTime.setSelection(etEndTime.getText().length());  builder.setTitle("选取结束时间");  builder.setPositiveButton("确  定", new DialogInterface.OnClickListener() {  @Override public void onClick(DialogInterface dialog, int which) {  StringBuffer sb = new StringBuffer();  sb.append(String.format("%d-%02d-%02d",   datePicker.getYear(),   datePicker.getMonth() + 1,   datePicker.getDayOfMonth()));  sb.append("  ");  sb.append(timePicker.getCurrentHour())  .append(":").append(timePicker.getCurrentMinute());  etEndTime.setText(sb);  dialog.cancel();  }  });  }  Dialog dialog = builder.create();  dialog.show();  }  return true;  }  }
</span>

运行后的效果图:

点击确定之后

URL:http://www.open-open.com/lib/view/open1364268229062.html



Android中实现日期时间选择器(DatePicker和TimePicker)相关推荐

  1. android edittext获取 time值,在Android EditText中实现日期时间选择器(DatePicker和TimePicker)...

    利用Android应用框架提供的DatePicker(日期选择器)和TimePicker(时间选择器),实现日期时间选择器. Dialog的Content布局文件(date_time_dialog.x ...

  2. 日期时间选择器 DatePicker

    日期时间选择器 DatePicker 一款高颜值.多场景的日期时间选择器,提供自定义颜色/格式/文案等. 该插件采用scss编译,如遇到样式/层级问题可以到源码修改. 如果对您有帮助,可以评论或赞赏一 ...

  3. Flutter中的日期时间选择器

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. 日期选择器showDatePicker () 2.时间选择器showTimePicker() 3. 日期时间选择器按钮 ...

  4. android仿iphone日期时间选择器,Android仿iPhone日期时间选择器详解

    本文实例为大家分享了Android仿iPhone时间选择器的具体代码,供大家参考,具体内容如下 先看效果图 如何使用 import java.text.DateFormat; import java. ...

  5. android 中 系统日期时间的获取

    1.获取当前时间: import java.text.SimpleDateFormat; SimpleDateFormat formatter = new SimpleDateFormat (&quo ...

  6. Android中的日期控件DatePicker和DatePickerDialog

    今天早上我写一个程序,需要用到在一个对话框中去显示一个日期匹配器. 当时,我就想,这个还不简单,不就是写一个DatePicker的布局文件,然后再把它部署到AlertDialog中不就好了吗? 当我真 ...

  7. elementUI中DateTimePicker 日期时间选择器自定义开发,固定时间段,修改时间后取当前输入作为时间段起始

    最近项目需求默认时间段前一天20:00 - 第二天8:00,更改日期选择后,快捷选项以更改后的时分秒范围来取值,记录一下. 组件代码: <el-date-picker v-model=" ...

  8. 如何在element-plus配套vue3中使用日期时间选择器默认英文修改为中文

    element-plus版本1.0.2-beta.59(包含59)之后可以这样用 Element Plus 组件内部默认使用英语,我们通常会碰到需要修改语言的需求,比如修改为中文. 如果你的项目是在使 ...

  9. datetimepicker 默认时间_Django项目中如何使用日期时间选择器DateTimePicker

    如果你的模型中含有datetime类型的字段,表单中需要用户输入日期和时间,那么你如何保证不同用户输入的时间都遵循一定的格式(DD/MM/YYYY 或者YYYY-MM-DD)是个必须要考虑的问题.一个 ...

最新文章

  1. 坑爹系列1--Log
  2. Operating System Concepts--chap9 Memory Management;
  3. Web2.0时代,你得到什么?
  4. okhttp3 请求html页面,OkHttp3源码详解(二) 整体流程
  5. Ext JS 6学习文档-第6章-高级组件
  6. mysql5.6 主从配置_CentOS7+mysql5.6配置主从
  7. 在qt中获取halcon窗口图片_Qt联合HALCON显示文件夹图片及初步处理
  8. c++中 . 和 - 的区别
  9. CentOS配置Tomcat开机启动
  10. 190719每日一句
  11. Enterprise Library 2.0 发布了...
  12. matlab画倾斜的椭球_用matlab绘制椭球体x^2/4+y^2/9+z^2/16=1,并通过改变观察点获得它在各个坐标面上的投影。...
  13. 血与荣耀(第七章-战鼓)
  14. rk3288 Android 8,RK3288W Android8.1开发日志(一)
  15. 单片机运算能力与PC运算能力PK
  16. Rstudio如何安装、加载工具包
  17. 《黑镜》(Black Mirror)
  18. Vue2+Vue3的专题目录结构(第二十三课)
  19. 计算机硬盘50g多了50g,电脑C盘莫名其妙的就满了,50G的空间,能看到的文件只有几个G,可是C盘只剩几十M的空间了...
  20. angular使用bootstrap方法手动启动

热门文章

  1. ASP.NET在IIS7中上下文中不可用
  2. SQL-92标准 中文翻译——定义、记号和约定 (定义)
  3. Educational Codeforces Round 72 (Rated for Div. 2)
  4. css中实现ul两端的li对齐外面边缘
  5. appium+python 操作APP
  6. H5——while循环,for循环
  7. 开发教程(四) MIP组件平台使用说明
  8. 使用MEF构建可扩展的Silverlight应用
  9. ie8下showmodaldialog页面回传会打开新页面的问题
  10. hdu 2025 查找最大元素