android日历之滚动选择日期类似ios
使用的控件 DatePicker
默认的DatePicker
添加如下代码即可设置成滚动的选择日历
android:datePickerMode=”spinner”
android:calendarViewShown=”false”
初始化日历控件设置
调用初始化方法
public void init(int year, int monthOfYear, int dayOfMonth,
OnDateChangedListener onDateChangedListener)
参数内容分别对应年、月、日
注意:
我们设置不同语言的日历,年月日显示的顺序是不一样的
所以我们要判断语言(特别的只显示部分时间,例如只显示年、月或者只显示年份等)
我们创建一个实例对象mDatePicker
if ( mDatePicker != null) {if (getResources().getConfiguration().locale.getCountry().equals("CN")){((ViewGroup)((ViewGroup) mDatePicker.getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE);}else{((ViewGroup)((ViewGroup) mDatePicker.getChildAt(0)).getChildAt(0)).getChildAt(1).setVisibility(View.GONE);}}
上述代码是只显示年、月,去除日,对于语言是中文,我们隐藏最后一行的view 。 对于语言是英语我们隐藏中间的view。
以上就可以显示对应的日期了,同时我们系统默认的分割线是蓝色的,我们可以自定义分割线颜色。调用如下函数
,颜色修改R.color.green
private void setDatePickerDividerColor(DatePicker datePicker){// Divider changing:// 获取 mSpinnersLinearLayout llFirst = (LinearLayout) datePicker.getChildAt(0);// 获取 NumberPickerLinearLayout mSpinners = (LinearLayout) llFirst.getChildAt(0);for (int i = 0; i < mSpinners.getChildCount(); i++) {NumberPicker picker = (NumberPicker) mSpinners.getChildAt(i);Field[] pickerFields = NumberPicker.class.getDeclaredFields();for (Field pf : pickerFields) {if (pf.getName().equals("mSelectionDivider")) {pf.setAccessible(true);try {pf.set(picker, new ColorDrawable(this.getResources().getColor(R.color.green)));} catch (IllegalArgumentException e) {e.printStackTrace();} catch (Resources.NotFoundException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}break;}}}}
android日历之滚动选择日期类似ios相关推荐
- uniapp 日期选择器_uniapp实现横向滚动选择日期
本文实例为大家分享了uniapp实现横向滚动选择日期的具体代码,供大家参考,具体内容如下 1.方法封装 common.js //获取当前时间,格式YYYY-MM-DD HH:MM:SS const G ...
- android日历控件之显示当前月份,Android 日历方式显示的日期选择组件(日历控件之一).doc...
运行结果: 此Widget组件只包含五个类文件: DateWidget DateWidgetDayCell DateWidgetDayHeader DayStyle SymbolButton *红色为 ...
- Android 自定义控件 按钮滚动选择
效果图 代码实现 package com.demo.ui.view;import android.annotation.TargetApi; import android.content.Contex ...
- android 随意漂浮动画,Android实现气泡漂浮动画,类似IOS Game Center中气泡动画
网上没找到,于是自己写了一个,简单的算法,利用 PropertyValuesHolder实现多个动画的集合,不多说,直接上代码吧,非常好理解: /** * 气泡漂浮动画 * @param view * ...
- android 仿携程选择城市,类似携程商旅的城市选择器 CityPicker
软件介绍 CityPicker 这是一个类似于携程商旅类型的城市选择器 特性 1.无侵入性 2.使用方便 展示 使用方法 1.将工程中CityPicker中的Citypicker文件夹拖入你要使用的工 ...
- Android选择日期
一:布局文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:and ...
- Android日历移植小结
最近的小项目中要使用日历控件选择日期,折腾了好久,几次尝试加入别人写的成品,但问题很多.一方面因为自己初学Android,对其机制不够了解,另一方面因为自己太懒,看不进别人的代码,不想做太大的改动,调 ...
- Android自定义日期区间选择,类似12306酒店入住的日期选择
时间过的好快,一转眼2019年马上就结束了,在年末最后一天,写一篇与时间有关的文章吧,今天做一个日期区间的选择功能,效果类似一些酒店入住的日期选择,我写的这个类似12306上面的酒店入住日期选择效果, ...
- Android 类似Ios的时间滚轮控件
之前项目使用的,参考了别人的一个demo,但是原文链接找不到了.... 先说如何使用: //参数1:上下文 //参数2:选中是的ResultHandler回调 //参数3:选择器最早时间 //参数4: ...
最新文章
- php程序监控指标,通达信主力动向监控副图指标公式
- 深度学习笔记:LSTM
- java字符串学习_java之字符串学习记录
- HDU 2859 Phalanx(二维DP)
- python plt.plot bar 设置绘图尺寸大小
- 第三章 正态性检验、自相关检验与异方差性检验
- 【数学建模】通过调整飞行角度使飞机顺利飞行(Matlab)
- 深度学习之TensorFlow
- 解决了asp.net 关于服务器版本不正确的问题
- 处理整个磁盘镜像文件的单个分区
- 中国三大石油公司信息化进展
- Ubuntu系统截图方法
- 批量添加搜狗域名绑站工具
- Java使文本框失去焦点的方法,使文本框失去焦点的事件是()A.ChangeB.FocusC.SetFocusD.LostFocus...
- Android8.1 framework 微信付款码显示不出来
- 【漫画科普】什么是PAM4
- 简单的爬取某租房网站租房信息并存入MySQL数据库
- 这5款堪称神器的插件,能让你的效率提升3-4倍!还不知有点遗憾
- 代理自动配置文件PAC的使用方法
- 6行代码实现对TF卡的读写功能