• 效果

  

  • 核心代码

>方法

    /**
* @description 选择日期弹出框
* @param listener 选择日期确定后执行的接口
* @param curDate 当前显示的日期
* @return
* @author wqy
* @time 2020-1-6 14:23
*/
public void showDatePickDialog(DatePickerDialog.OnDateSetListener listener, String curDate) {
Calendar calendar = Calendar.getInstance();
int year = 0,month = 0,day = 0;
try {
year =Integer.parseInt(curDate.substring(0,curDate.indexOf("-"))) ;
month =Integer.parseInt(curDate.substring(curDate.indexOf("-")+1,curDate.lastIndexOf("-")))-1 ;
day =Integer.parseInt(curDate.substring(curDate.lastIndexOf("-")+1,curDate.length())) ;
} catch (Exception e) {
e.printStackTrace();
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH);
day=calendar.get(Calendar.DAY_OF_MONTH);
} DatePickerDialog datePickerDialog = new DatePickerDialog(this,DatePickerDialog.THEME_HOLO_LIGHT,listener, year,month , day);
datePickerDialog.show();
}

>调用

   showDatePickDialog(new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
etDate.setText(year + "-" + (month + 1) + "-" + day);
}
}, etDate.getText().toString());

说明:etDate为一个输入框EditText 显示当wujiaox前选择的日期,也可使用 TextView 。

 ⭐使用EditText 时需注意:将EditText Touch 时弹出输入框的效果禁用掉,所以尽量使用 onTouch 来实现弹出,不用 onClick 事件

@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction()==MotionEvent.ACTION_DOWN){
hideInput();//隐藏输入框
switch (view.getId()) {
case R.id.etDate:
showDatePickDialog(new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
//选择日期过后执行的事件
etDate.setText(year + "-" + (month + 1) + "-" + day);
}
}, etDate.getText().toString());
break;
}
}
return false;
}

>hideInput方法 有可能不是当前输入框调出的输入框,在点击之前有输入框也要隐藏掉

/**
* 隐藏键盘
*/
protected void hideInput() {
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
View v = getWindow().peekDecorView();
if (null != v) {
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
}

Android 日期选择框 简洁常用的更多相关文章

  1. js控制日期选择框datetime-local和select的展开

    注: js控制元素展开不受元素css属性的限制,例如opacity,z-index等 1. 使用js控制日期选择框的展开 ios: document.querySelector(".targ ...

  2. android 弹出日期选择框

    DatePickerDialog 在很多时候需要用户去设定时间,不可能让用户去在一个文本框中去输入时间,所以就需要有个日期弹出选择框,而这个框就是DatePickerDialog. 1.在API中的D ...

  3. Android——列表选择框(Spinner)

    通常情况下,如果列表选择框中要显示的列表项是可知的,那么可以将其保存在数组资源文件中,然后通过数组资源来为列表选择框指定列表项.这样就可以在不编写Java代码的情况下实现一个下拉选择框. 1.在布局文 ...

  4. Android滑动选择的日期选择框

    效果图如下. 实现也很简单,使用的是Android的DatePicker控件.AlertDialog实现. 首先是布局文件:date_picker_dialog.xml <?xml versio ...

  5. JQuery 日期选择框

    一    jeDate日期控件,关于官方的文档请查看: http://www.jayui.com/jedate/ 1 引入js文件 <script type="text/javascr ...

  6. iview日期选择框,获取的日期总是少一天

    使用iview的datepicker时间选择器发现获取的value值是比实际要少一天,严格来说应该是时间格式不一样,datepicker获取的时间是UTC时间 格式,也就是:yyyy-MM-ddTHH ...

  7. 使用elementUI的日期选择框,两选择框关联时间限值

    elementui 本身也提供了在一个输入框内关联选择时间的组件,非常好使,但无奈项目需要用两个输入框去关联的选择: <el-date-picker class="datepicker ...

  8. PyQt5显示日期选择框,获取日期保存文件

    一.UI显示选择日期,保存到文件 import sys,os from PyQt5 import QtCore from PyQt5.QtGui import * from PyQt5.QtWidge ...

  9. react+ts封装AntdUI的日期选择框之月份选择器DatePicker.month

    需求:由于在项目开发中,当需要使用该组件时都需要对该组件进行大量的代码输出,为了方便代码统一管理,减少冗余代码,所以将此组件进行二次封装. 其他成员在使用中只需将自己的设置通过对应的参数传递到该组件, ...

随机推荐

  1. 团队作业-Alpha版本发布2

    团队项目-系统设计 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/homework 这个作业要 ...

  2. Beta版本

    Beta版本 博客说明 这个作业属于哪个课程 http://edu.cnblogs.com/campus/xnsy/GeographicInformationScience 这个作业的要求在哪里 ht ...

  3. GitHub 上这几个沙雕项目,够我玩几天

    在家里都憋坏了吧?每天睡了吃吃了睡,该找点事做做了,今天推荐几个好(沙)玩(雕)的开源项目,好在家打发时间. 91 吴先生 一个在线的 PornHub 风格 Logo 生成工具 Logoly.Pro ...

  4. C#数字图像处理(十四)击中击不中变换 (Hit-miss)

    击中击不中变换定义 击中击不中变换(HMT)需要两个结构元素B1和B2,合成一个结构元素对B=(B1,B2) 一个用于探测图像内部,作为击中部分;另一个用于探测图像外部,作为击不中部分.显然,B1和B ...

  5. 返回数据中提取数据的方法(JSON数据取其中某一个值的方法)

    返回数据中提取数据的方法 比如下面的案例是,取店铺名称 接口返回数据如下: {"Code":0,"Msg":"ok","Data& ...

  6. Python zmq的三种简单模式

    ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 socket library,他使得 Socket 编程更加简单.简洁和性能更高. 是一个消息处理队列库,可在多个 ...

  7. ArrayList.subList方法使用总结

    ArrayList.subList方法使用总结 示例 List<String> list=new ArrayList<>(); list.add("d"); ...

  8. divide and conquer - 最大连续子序列 - py

    以HDU1231为例,代码之没法交如下: inf = 0x3f3f3f3f a = [0 for i in range(10005)] ans, L, R = -inf, 0, 0 def divid ...

  9. Vue使用better-scroll左右菜单联动

    说明 最近想做一个vue商城小项目,练习一下vue的语法,刚刚好碰到了需要左右菜单实现联动,因此就接触了 better-scroll. github地址 中文文档. 代码 页面结构以及数据 //页面结 ...

  10. 【WPF学习】第三十六章 样式基础

    前面三章介绍了WPF资源系统,使用资源可在一个地方定义对象而在整个标记中重用他们.尽管可使用资源存储各种对象,但使用资源最常见的原因之一是通过他们的保存样式. 样式是可应用于元素的属性值集合.WPF样 ...