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_MONTH);

2、通过按钮触发日期选择器

btn_day.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    //TODO 调用时间选择器
    new DatePickerDialog(MainActivity.this, onDateSetListener, mYear, mMonth, mDay).show();
  }
});

3、实现选择器的监听,并将获取到的结果设置到TextView上:

/**
 * 日期选择器对话框监听
 */
private DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {

  @Override
  public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
    mYear = year;
    mMonth = monthOfYear;
    mDay = dayOfMonth;
    String days;
    if (mMonth + 1 < 10) {
      if (mDay < 10) {
        days = new StringBuffer().append(mYear).append("年").append("0").
            append(mMonth + 1).append("月").append("0").append(mDay).append("日").toString();
      } else {
        days = new StringBuffer().append(mYear).append("年").append("0").
            append(mMonth + 1).append("月").append(mDay).append("日").toString();
      }

    } else {
      if (mDay < 10) {
        days = new StringBuffer().append(mYear).append("年").
            append(mMonth + 1).append("月").append("0").append(mDay).append("日").toString();
      } else {
        days = new StringBuffer().append(mYear).append("年").
            append(mMonth + 1).append("月").append(mDay).append("日").toString();
      }

    }
    tv_data.setText(days);
  }
};

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

(0)

相关推荐

  • Android仿Boss直聘文本日期混合滚轮选择器示例

    1.需求分析 GitHub上面有一款iOS风格的滚轮选择器Android-PickerView,它分为时间选择器代码TimePickerView和选项选择器OptionsPickerView,不但可以选择时间日期,可以选择我们自定义的数据,比如性别.年龄等.我一直都用它.直到最近遇到了一个需求,它的选项里面既有文字也有时间,大体效果如Boss直聘添加项目经验中的时间选择功能: 从图中我们可以看出,除了常规的年份和月份的选择,选项中还包含了文本.其中,最新的时间是"至今",而最早可供选择

  • Android使用第三方库实现日期选择器

    本文主要是介绍利用第三方库实现底部日期选择器滚轮效果,类似IOS日期效果,只记录了一种展示效果,是项目中常用到的,至于用到其他效果以及自定义扩展的可以参考原文自行学习. 原文github地址 效果图参考: 使用方法: 1.AS添加依赖: compile 'com.contrarywind:Android-PickerView:3.2.6' 2.在Activity中添加如下代码: TimePickerView pvTime = new TimePickerView.Builder(this, ne

  • Android仿iPhone日期时间选择器详解

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

  • Android日期选择器实现年月日三级联动

    最近项目里面用到了一个日期选择器,实现现在主流的WheelView滑动选择,整理了下,做了个Demo.废话不多说,直接上代码. 主布局:activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&quo

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

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

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

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

  • 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

  • Android自定义酒店日期选择器

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

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

    抽出来了一个方法来选择时间(这里自己规定的只能选择当前时间以后的日期),日期选择完毕就会自动弹出时间选择器让选择时间. /** * 选择日期和时间 */ private void selectDataAndTime() { // 获取当前时间 final Calendar calendar = Calendar.getInstance(); /* * toast("当前时间是:" + calendar.get(Calendar.YEAR) + "," + * cal

  • 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

  • Android自定义DataTimePicker实例代码(日期选择器)

    笔者有一段时间没有发表关于Android的文章了,关于Android自定义组件笔者有好几篇想跟大家分享的,后期会记录在博客中.本篇博客给大家分享的是自定义一个日期选择器,可以让用户同时选择年月日和当前时间. 先看看效果: 实现的效果就是在同一个布局上显示日期选择和时间选择. 自定义一个类: /DateTimePicker/src/com/wwj/datetimepicker/DateTimePickDialogUtil.java package com.wwj.datetimepicker; i

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

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

随机推荐