Android实现日期时间选择对话框

日期/时间选择对话框(DatePickerDialog和TimePickerDialog)的使用,供大家参考,具体内容如下

<LinearLayout 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:orientation="vertical" >

    <EditText
        android:id="@+id/edit"
        android:layout_width="200dp"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="日期选择器" />

    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="时间选择器" />

</LinearLayout>
public class MainActivity extends Activity {
 // 实例化控件
 private Button dateButton;
 private Button timeButton;
 private EditText editText;
 private DatePickerDialog dateDialog;
 private TimePickerDialog timeDialog;
 private int year, monthOfYear, dayOfMonth, hourOfDay, minute;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  // 通过findViewById找到控件
  dateButton = (Button) findViewById(R.id.button1);
  timeButton = (Button) findViewById(R.id.button2);
  editText = (EditText) findViewById(R.id.edit);
  // 通过Calendar对象来获取年、月、日、时、分的信息
  Calendar calendar = Calendar.getInstance();
  year = calendar.get(calendar.YEAR);
  monthOfYear = calendar.get(calendar.MONTH);
  dayOfMonth = calendar.get(calendar.DAY_OF_MONTH);
  hourOfDay = calendar.get(calendar.HOUR_OF_DAY);
  minute = calendar.get(calendar.MINUTE);
  /*
   * 实例化DatePickerDialog
   */
  dateDialog = new DatePickerDialog(this, new OnDateSetListener() {

   @Override
   public void onDateSet(DatePicker arg0, int year, int monthOfYear,
     int dayOfMonth) {
    // 把获取的日期显示在文本框内,月份从0开始计数,所以要加1
    String text = year + "-" + (monthOfYear + 1) + "-" + dayOfMonth;
    editText.setText(text);
   }
  }, year, monthOfYear, dayOfMonth); // 后面的三个参数对应于上面的年、月、日
  /**
   * 对日期选择器按钮设置监听事件
   */
  dateButton.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View arg0) {
    // 点击日期选择器按钮时显示出日期对话框
    dateDialog.show();
   }
  });
  /*
   * 实例化TimePickerDialog
   */
  timeDialog = new TimePickerDialog(this, new OnTimeSetListener() {

   @Override
   public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
    // TODO Auto-generated method stub
    Toast.makeText(MainActivity.this, hourOfDay + ":" + minute,
      Toast.LENGTH_LONG).show();
   }
  }, hourOfDay, minute, true); // 最后一个参数设置是否为24小时制
  /**
   * 对时间选择器按钮设置监听事件
   */
  timeButton.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View arg0) {
    // 点击时间选择器按钮时显示出时间对话框
    timeDialog.show();
   }
  });
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2021-09-10

Android自定义控件之日期选择控件使用详解

Android日期选择控件效果如下: 调用的代码: @OnClick(R.id.btn0) public void btn0() { final AlertDialog dialog = new AlertDialog.Builder(context).create(); dialog.show(); Window window = dialog.getWindow(); window.setContentView(R.layout.dialog_change_date); window.set

Android滚轮选择时间控件使用详解

滚轮选择控件 Android自带的选择时间控件有点丑,往往产品和设计都比较嫌弃,希望做成ios一样的滚轮选择,下面是我在NumberPicker的基础上自定义的选择控件,效果如下: 原理 基于NumberPicker实现 动态填充数值 联动 接口监听回调 实现滚轮效果有github上mark比较多的WheelView,但是阅读源码发现数据是一次性填入的,选择时间的话,填入10年就是10*365=3650条数据,也就是new出三千多个TextView,想想都觉得恐怖,肯定是不行的,于是便想到用Nu

Android日期选择器对话框DatePickerDialog使用详解

调用Android原生日期选择器对话框就是DatePickerDialog,具体内容如下 在Android4.4系统上效果如图: 在Android5.0以上效果如图: 1.Activity的onCreate方法中获取当时的年,月,日 Calendar ca = Calendar.getInstance(); mYear = ca.get(Calendar.YEAR); mMonth = ca.get(Calendar.MONTH); mDay = ca.get(Calendar.DAY_OF_M

android实现双日期选择控件(可隐藏日,只显示年月)

在安卓开发中,会碰到选开始日期和结束日期的问题.特别是在使用Pad时,如果弹出一个Dialog,能够同时选择开始日期和结束日期,那将是极好的.我在开发中在DatePickerDialog的基础上做了修改,实现了这种Dialog.效果如下: 具体实现方法为: 先新建一个安卓项目DoubleDatePicker,在res/layout文件夹下新建date_picker_dialog.xml,内容如下: <?xml version="1.0" encoding="utf-8&

轻松实现可扩展自定义的Android滚轮时间选择控件

项目需求中有个功能模块需要用到时间选择控件,但是android系统自带的太丑了,只能自己优化下,结合WheelView实现滚轮选择日期,好像网上也挺多这种文章的.但是适用范围还是不同,希望这个能够对需求相同的朋友有一定帮助.控件标题还有年月日时分秒这些可以自己控制是否显示,先来看效果. 1.有年月日时分的开始时间 2.只有年月日的结束时间 3.用于有时身份证到期的时间选择(分为勾选长期和直接选择时间两种,另外长期后面自己也可以进行扩展) 4.项目结构 5.直接贴代码,代码里面注释很详细 <spa

Android开发中实现IOS风格底部选择器(支持时间 日期 自定义)

本文Github代码链接 https://github.com/AndroidMsky/AndoirdIOSPicker 先上图吧: 这是笔者最近一个项目一直再用的一个选择器库,自己也在其中做了修改,并决定持续维护下去. 先看使用方法: 日期选择: private void showDateDialog(List<Integer> date) { DatePickerDialog.Builder builder = new DatePickerDialog.Builder(this); bui

Android基于wheelView实现自定义日期选择器

本文实例为大家分享了Android实现自定义日期选择器的具体代码,供大家参考,具体内容如下 项目要求效果图: 要求 "6月20 星期五" 这一项作为一个整体可以滑动,"7时"."48分"分别作为一个滑动整体. 系统自带的DatePicker.TimePicker大家都知道,只有这种效果: 百度了很多,试了NumberPicker等都不行,本来打算自己写.网友推荐了一个开源组件WheelView,下下来试了试,发现他已经定义的很完善了,在他的基础上

Android时间选择器、日期选择器实现代码

本文为大家分享了两款选择器,一款可以针对时间进行选择.一款可以针对日期进行选择,供大家参考,具体内容如下 一.时间选择器 1.1.布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.and

JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器

手机端网页版app在使用下拉列表时,传统的下拉列表使用起来体验非常不好,一般做的稍好一点的交互功能界面都不会直接使用下拉列表,所以app的原生下拉列表都是弹窗列表选择,网页型app从使用体验上来当然也应该做成那样,前段时间在开发网页版app时就遇到这种需求,不仅是日期选择器,数据列表.变量列表选择等等下拉列表型需求都需要,网上找来找去只找到一款比较好的mobiscroll,不过下载比较麻烦,感觉比较奇怪的是jquery.mobile.jeasyui.mobile都没有提供这种控件,不知道为什么?

jQuery带时间的日期控件代码分享

本文实例讲述了JS+CSS3实现的类似于苹果iwatch计时器特效.分享给大家供大家参考.具体如下: 带时间的jQuery日期控件代码是一款基于jQueryUI实现的,可自定义日期插件语言,这个日期控件的亮点就在于选择的时间可精确到分钟. 运行效果图:                    -------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 为大家分享的jQuery带时间的日期控件代码如下 <h

JS实现网页标题栏显示当前时间和日期的完整代码

本文实例讲述了JS实现网页标题栏显示当前时间和日期的完整代码.分享给大家供大家参考,具体如下: 本效果实现在网页的标题栏最前端显示当前的时间和日期,还可以显示星期几,JS代码,不过代码在兼容性方面好像有些问题,如果是IE的话则正常显示,其它浏览器则看不到效果. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-title-show-date-time-codes/ 具体代码如下: <html> <head> <title&

Java日期时间及日期相互转换实现代码

这篇文章主要介绍了Java日期时间及日期相互转换实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java.util 包提供了 Date 类来封装当前的日期和时间. Date 类提供两个构造函数来实例化 Date 对象. 第一个构造函数使用当前日期和时间来初始化对象. Java日期时间,以及相互转化,供大家参考,具体内容如下 package com.study.string; import java.text.ParseException

Android自定义酒店日期选择器

Android自定义日期区间选择器,类似于途家等酒店.旅游日期区间选择器: 重写PopupWindow 制定区间日历 添加日历日期选中监听 封装插件化 github开源 CustomDatePicker 类似于途家等酒店日期选择器,弹出自定义的PopupWindow,监听日期选中,返回结果.代码已经开源到GitHub上,提供插件化. -- [ Wiki ] Github 地址:CustomHotelCalender 1. 添加依赖: Step 1.Add it in your root buil

Android自定义wheelview实现滚动日期选择器

本文实例为大家分享了Android实现滚动日期选择器的具体代码,供大家参考,具体内容如下 wheelview滚动效果的View 这段时间需要用到一个时间选择器,但是不能使用日期对话框, 因为它是筛选条件框架下的,只能是View!这个WheelView改造后可以达到要求! 这个wheelview框架使用的类不多,就几个,还有一些资源文件. 我根据这个框架设计了日期的选择器. 主页面: 第一种日期选择器页面: 动态效果: 使用: 具体的实现是一个LoopView的类,这是一个继承View的类! 理解

Android 日期选择器实例代码

废话不多说了,直接给大家贴代码了,具体代码如下所示: //出生年月设置 private void birthSetting() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_YEAR, 1); new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() { @Override public void onDat

iOS自定义日期、时间、城市选择器实例代码

选择器,我想大家都不陌生,当需要用户去选择某些范围值内的一个固定值时,我们会采用选择器的方式.选择器可以直观的提示用户选择的值范围.统一信息的填写格式,同时也方便用户快速的进行选择,比如对于性别,正常情况下就只有男女两种情况,那这时候用一个选择器给用户进行选择的话,可以避免错误数据的输入,也更方便用户去填写.再比如需要获取用户的生日信息时,采用选择器的方式可以统一生日的格式,如果让用户自行输入的话,可能会出现各种各样的生日信息格式,不利于数据的存储,但是采用选择器的方式的话,用户可找到对应的日期