Android中实现日期时间选择器(DatePicker和TimePicker)
利用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)相关推荐
- android edittext获取 time值,在Android EditText中实现日期时间选择器(DatePicker和TimePicker)...
利用Android应用框架提供的DatePicker(日期选择器)和TimePicker(时间选择器),实现日期时间选择器. Dialog的Content布局文件(date_time_dialog.x ...
- 日期时间选择器 DatePicker
日期时间选择器 DatePicker 一款高颜值.多场景的日期时间选择器,提供自定义颜色/格式/文案等. 该插件采用scss编译,如遇到样式/层级问题可以到源码修改. 如果对您有帮助,可以评论或赞赏一 ...
- Flutter中的日期时间选择器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. 日期选择器showDatePicker () 2.时间选择器showTimePicker() 3. 日期时间选择器按钮 ...
- android仿iphone日期时间选择器,Android仿iPhone日期时间选择器详解
本文实例为大家分享了Android仿iPhone时间选择器的具体代码,供大家参考,具体内容如下 先看效果图 如何使用 import java.text.DateFormat; import java. ...
- android 中 系统日期时间的获取
1.获取当前时间: import java.text.SimpleDateFormat; SimpleDateFormat formatter = new SimpleDateFormat (&quo ...
- Android中的日期控件DatePicker和DatePickerDialog
今天早上我写一个程序,需要用到在一个对话框中去显示一个日期匹配器. 当时,我就想,这个还不简单,不就是写一个DatePicker的布局文件,然后再把它部署到AlertDialog中不就好了吗? 当我真 ...
- elementUI中DateTimePicker 日期时间选择器自定义开发,固定时间段,修改时间后取当前输入作为时间段起始
最近项目需求默认时间段前一天20:00 - 第二天8:00,更改日期选择后,快捷选项以更改后的时分秒范围来取值,记录一下. 组件代码: <el-date-picker v-model=" ...
- 如何在element-plus配套vue3中使用日期时间选择器默认英文修改为中文
element-plus版本1.0.2-beta.59(包含59)之后可以这样用 Element Plus 组件内部默认使用英语,我们通常会碰到需要修改语言的需求,比如修改为中文. 如果你的项目是在使 ...
- datetimepicker 默认时间_Django项目中如何使用日期时间选择器DateTimePicker
如果你的模型中含有datetime类型的字段,表单中需要用户输入日期和时间,那么你如何保证不同用户输入的时间都遵循一定的格式(DD/MM/YYYY 或者YYYY-MM-DD)是个必须要考虑的问题.一个 ...
最新文章
- 坑爹系列1--Log
- Operating System Concepts--chap9 Memory Management;
- Web2.0时代,你得到什么?
- okhttp3 请求html页面,OkHttp3源码详解(二) 整体流程
- Ext JS 6学习文档-第6章-高级组件
- mysql5.6 主从配置_CentOS7+mysql5.6配置主从
- 在qt中获取halcon窗口图片_Qt联合HALCON显示文件夹图片及初步处理
- c++中 . 和 - 的区别
- CentOS配置Tomcat开机启动
- 190719每日一句
- Enterprise Library 2.0 发布了...
- matlab画倾斜的椭球_用matlab绘制椭球体x^2/4+y^2/9+z^2/16=1,并通过改变观察点获得它在各个坐标面上的投影。...
- 血与荣耀(第七章-战鼓)
- rk3288 Android 8,RK3288W Android8.1开发日志(一)
- 单片机运算能力与PC运算能力PK
- Rstudio如何安装、加载工具包
- 《黑镜》(Black Mirror)
- Vue2+Vue3的专题目录结构(第二十三课)
- 计算机硬盘50g多了50g,电脑C盘莫名其妙的就满了,50G的空间,能看到的文件只有几个G,可是C盘只剩几十M的空间了...
- angular使用bootstrap方法手动启动