让DatePickerDialog也能快速切换月份

让DatePickerDialog也能快速切换月份,第1张

一般显示日期选择对话框是这样子的:

获取到id后就开始获取View:

设置view监听,然后模拟年份选择那样弄个RecyclerView盖住底下的日期表,选择后使用 datePickerupdateDate(年,月,日) ;更新DatePicker 界面就可以了。 注意:源码写了,月份是从0开始的,所以如果你要显示9月,传进去8就行。

要修改这一切,记得都在 datePickerDialogshow(); 之前进行 *** 作。

因为是别人项目的需求,所以只是寻找解决方案,没有做月份选择的列表,也没有demo。只是记录一下,怕下次自己也遇到了。

上面的 *** 作时在70设备上 *** 作的,能正常使用。但50却是另一种样式的。

最后,像这种奇葩功能,建议是拒接接受。

1、添加compile:(这个库里用到了fastjson)

compile 'cnqqthemeframework:WheelPicker:123'

compile 'comalibaba:fastjson:1218'1212

2、assets文件夹下添加cityjson,如下图:

3、代码中使用:

/

地区选择器

/

private void showRegionPicker() {

try {

final ArrayList<AddressPickerProvince> data = new ArrayList<>();

String json = ConvertUtilstoString(getAssets()open("cityjson"));

dataaddAll(JSONparseArray(json, AddressPickerProvinceclass));

final AddressPicker picker

思路:每次取日期的时候增加一个响应函数,在函数中将期间进行修改。

例子:

首先将onclick="WdatePicker({dateFmt:'yyyy-MM-dd'})"  增加一个onpicked,如:

<input type="text" id="startTime_week" name="startTime_week" style="width:90px" value="" onclick="WdatePicker({dateFmt:'yyyy-MM-dd',onpicked:getMonday})"  />

增加一个JS function

function getMonday()

 {

  var today=new Date();

  var weekday=todaygetDay();    

  var monday=new Date(1000606024(1-weekday) + todaygetTime());    

  //alert(getDateStr(monday)); 

  $("#startTime_week")val(getDateStr(monday));

 }

 function getDateStr(dd){

     var y = ddgetFullYear();

     var m = ddgetMonth()+1;//获取当前月份的日期

     m=parseInt(m,10);

     if(m<10){

         m="0"+m;

     }

     var d = ddgetDate();

     d=parseInt(d,10);

     if(d<10){

         d="0"+d;

     }

     return y+"-"+m+"-"+d;

 }

获取星期天的例子类似

function getSunday()

{

    var today=new Date();

    var weekday=todaygetDay();    

    var sunday=new Date(1000606024(7-weekday) + todaygetTime());    

  $("#endTime_week")val(getDateStr(sunday));

}

仅供参考~~

静态限制

注意:日期格式必须与 realDateFmt 和 realTimeFmt 一致

你可以给通过配置minDate(最小日期),maxDate(最大日期)为静态日期值,来限定日期的范围

根据你说的,我猜测是因为你结束日期因为验证不通过,会自动获取焦点,获取焦点后就会自动d出日期框,这应该是符合逻辑的。你说的用<a >标签就不会d出,只是没有验证,所以日期框没有获得焦点,就没有d出了。我觉得没什么问题吧,日期输错了就自动d出来让用户重新选择个日期。

datepicker 是 JQueryUI 提供的日期控件,仅提供日期选择,不提供时间,但基本够用了。 其日期格式默认是:mm/dd/yy 格式字符代表的含义如下: d - 每月的天津众 维原画设计

将开始日期用strtotime($startTime)转为时间戳,然后将周期换算成秒,2者相加,再用date()函数得到的就是结束日期

$startTime = "2017-7-11";

$zq = "55";//天

$addTime = strtotime($startTime)+$zq243600;

echo date('Y-m-d',$addTime);

以上就是关于让DatePickerDialog也能快速切换月份全部的内容,包括:让DatePickerDialog也能快速切换月份、android 时间滚轮怎么把选择的每个选项合并后转换成时间戳、WdatePicker({})控件 点击d出选择框后选择任意一天 开始时间和结束时间显示本周星期一和星期天的日期。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9768138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存