Android 日期时间选择器,项目中你可能用得到!

更新时间:2017-02-23 09:38:17 点击次数:1749次

日期选择器是很多应用所具备的,比如设置一些任务的开始和结束时间。为了方便用户的同时也为了界面的好看,很多都是采用日期选择器,我在网上看了一下。很多的日期选择器个人感觉不是很好看,但是修改起来也有点麻烦,于是自己就写了一个demo。至于界面效果个人感觉也是很low,毕鄙人不是搞UI的,所以也就凑合着看吧。这些都不重要,因为这些是可以修改的。

如果想实现具有年月日的请看下面的注意里面的内容,下图是实现的分钟为00 15 30 45的如果想要0-59的请看下面的注意里面的内容

如果需要的是仿iOS的带有星期几的

点击此处查看带有星期几的博客(http://blog.csdn.net/u014452224/article/details/52813434)

 

请注意

MainActivity里面的显示时间的 

tv_house_time.setText(DateUtils.currentTimeDeatil(begin));

需要更改为 
tv_house_time.setText(DateUtils.formateStringH(beginTime,DateUtils.yyyyMMddHHmm));

否则现实的额时间为00:00 
修改后的 


 

将WheelMain里面的以下代码

wv_mins.setAdapter(adapter); 
wv_mins.setCyclic(true);// 可循环滚动 
wv_mins.setLabel(“分”);// 添加文字 
int min = setMinute(m); 
wv_mins.setCurrentItem(min); 
更换为 
wv_mins.setAdapter(new NumericWheelAdapter( 0, 59)); 
wv_mins.setCyclic(true);// 可循环滚动 
wv_mins.setLabel(“分”);// 添加文字 
wv_mins.setCurrentItem(m); 
还需要将 
int minute = Integer.valueOf(adapter.getItem(wv_mins.getCurrentItem())); 
改为 
int minute = wv_mins.getCurrentItem(); 
会将分钟更改为从0到59 


 

如果不想要时间只想要年月日的话只需要 

   if (hasSelectTime) {                  wv_hours.setVisibility(View.GONE);                      wv_mins.setVisibility(View.GONE); 
   } else {
        wv_hours.setVisibility(View.GONE);
        wv_mins.setVisibility(View.GONE);
        wv_day.setVisibility(View.GONE);
    }    
将这段代码放开就可以了还要将以下绿色区域内的代码去掉

 
 
还需要将 MainActivty里的如下代码 
wheelMainDate.initDateTimePicker(year, month, day, hours,minute); 
更改为 
wheelMainDate.initDateTimePicker(year, month, day); 
还有 wheelMain里的 

    if (!hasSelectTime) {        sb.append((wv_year.getCurrentItem() + START_YEAR)).append("-")
                .append(strMon).append("-")
                .append(strDay).append("  ").append(strHour).append(":").append(strMin);
    }else{
        sb.append((wv_year.getCurrentItem() + START_YEAR)).append("-")
                .append(strMon).append("-")
                .append(strDay).append("  ").append(strHour).append(":").append(strMin);
    }

需要修改为 

    if (!hasSelectTime) {   
       sb.append((wv_year.getCurrentItem() + START_YEAR)).append("-")
                .append(strMon).append("-")
                .append(strDay);
    }else{
        sb.append((wv_year.getCurrentItem() + START_YEAR)).append("-")
                .append(strMon).append("-")
                .append(strDay);
    }

实现效果如下图

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!