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

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

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

android:padding="10dip" >

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:singleLine="true"

android:text="请选择日期"

android:textColor="#FFFFFF"

android:textSize="16sp" />

android:id="@+id/date_picker"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="5dip" />

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" />

android:id="@+id/time_picker"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="5dip" />

代码中的实现:

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;

}

}

运行后的效果图:

点击EditTet之后

点击确定之后

来源:https://www.cnblogs.com/tianciliangen/p/4018362.html

android中timepicker 常用属性,Android中实现日期时间选择器(DatePicker和TimePicker)相关推荐

  1. Android中实现日期时间选择器(DatePicker和TimePicker)

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

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

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

  3. android imageview 的常用属性,android imageview scaletype属性

    android imageview scaletype属性并不是很常用,以至于到现在我才注意到,但是在某些应用中,这是一个很重要的属性,比如相册应用. ImageView的Scaletype决定了图片 ...

  4. Html中CSS常用属性

    Html中CSS常用属性 一.注释 在style标签中注释的书写使用"/* 注释内容 */",而不是<!-- 注释内容 -->. 二.文字属性 用于对文字进行修饰的属性 ...

  5. DOM对象中的常用属性(innerHTML属性,innerText属性,className属性,style属性)

    DOM对象中的常用属性 innerHTML属性 innerText属性 className属性 style属性 innerHTML属性 innerHTML属性:用于设置或获取HTML 元素中的内容. ...

  6. DIDAO.Common --- 项目中的常用类及其中函数

    DIDAO.Common --- 项目中的常用类及其中函数 常用函数: CommonHelper.cs using System; using System.Collections.Generic; ...

  7. #ArcGis中如何对属性表中的字段进行顺序赋值??

    #ArcGis中如何对属性表中的字段进行顺序赋值?? 如题,昨天有小伙伴在公号私信里问我"如何在ArcGis中对属性表中的字段进行顺序赋值??"这个问题如果会一点python编程, ...

  8. android日期选择区间控件_Android日期时间选择器实现以及自定义大小

    本文主要讲两个内容:1.如何将DatePicker和TimePicker放在一个dialog里面:2.改变他们的宽度: 问题1:其实现思路就是自定义一个Dialog,然后往里面同时放入DatePick ...

  9. 关于Element UI中日期时间选择器在IE浏览器中初始化显示的兼容性问题

    一.简单说明 项目使用Vue+Element UI进行开发,使用了 DateTimePicker 日期时间选择器. 二.问题描述 打开修改对话框(进行选择日期操作可以正常显示),在谷歌浏览器中初始化时 ...

  10. php中日期选择代码,实现JS日期时间选择器

    这次给大家带来实现JS日期时间选择器,实现JS日期时间选择器的注意事项有哪些,下面就是实战案例,一起来看一下. flatpickr 是一个轻量级.注重精益.由 UX 驱动和可扩展的 JavaScrip ...

最新文章

  1. 【Qt】Qt样式表总结(四):CSS盒子模型
  2. Mac OS X Yosemite安装盘U盘制作
  3. poly-YOLOv3
  4. c语言程序解决生活中的问题作文,生活中烦恼的事五年级满分作文
  5. 网站优化排名提升不发愁,这几点你掌握了吗?
  6. Stack:peek、pop、push、search
  7. 学会这个用这个做PPT,把24小时的工作变成1秒!高效神器保住你的发际线~
  8. php笔记之echo/print比较
  9. 如何成为一位牛逼的高手
  10. Flink on Zeppelin 流计算处理最佳实践
  11. 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第3节 注解_14_注解_自定义注解_格式本质...
  12. 20191102每日一句
  13. 关羽卖枣,张飞杀猪,二人何以有“盖世武功”?
  14. 微波工程(7)——谐振器理论
  15. 延时芯片C005介绍
  16. 2016 Multi-University Training Contest 2 1012 La Vie en rose (暴力)
  17. display 常用属性
  18. github如何写博客
  19. Vue ElementUI el-scrollbar 嵌套 el-tree 出现横向纵向滚动条
  20. 飞天加速计划初体验-阿里云开发者社区

热门文章

  1. hadoop FileSplit
  2. x86 android 显卡 tablet2,Re: android4.4.2将tablet更改为phone
  3. java软件安装教程_r软件安装教程
  4. erdas几何校正_ERDAS遥感图像的几何校正.docx
  5. 智慧体检中心管理系统降低管理成本提高管理效率
  6. 风口来了?关于电子信息工程专业的有关介绍
  7. XML 转 JSON
  8. Cropper详细笔记
  9. Hashmap红黑树源码学习
  10. 爬虫CASE01:反爬策略之使用随机user-agent模拟浏览器的网页爬取