前言
Android轻松实现日期选择器、生日选择器、自定义起始时间
废话不多说 看下效果
效果图
代码实现
代码实现比较简单 按照步骤 你也可以实现同样的效果
第一步 设置依赖
android 和androidX都可以
//时间选择器
implementation 'com.contrarywind:Android-PickerView:3.2.7'
第二步 创建对象
创建 TimePickerView 对象
private TimePickerView pvTime; //时间选择器对象
@BindView(R.id.tv_data)
TextView mTvMyBirthday; //显示时间的TextView
创建完对象后 初始化组件 设置一些基本配置信息
//初始化时间选择器
private void initTimePicker() {
Calendar selectedDate = Calendar.getInstance();
Calendar startDate = Calendar.getInstance();
startDate.set(1900, 1, 1);//起始时间
Calendar endDate = Calendar.getInstance();
endDate.set(2099, 12, 31);//结束时间
pvTime = new TimePickerView.Builder(getActivity(),
new TimePickerView.OnTimeSelectListener() {
@Override
public void onTimeSelect(Date date, View v) {
//选中事件回调
//mTvMyBirthday 这个组件就是个TextView用来显示日期 如2020-09-08
mTvMyBirthday.setText(getTimes(date));
}
})
//年月日时分秒 的显示与否,不设置则默认全部显示
.setType(new boolean[]{true, true, true, false, false, false})
.setLabel("年", "月", "日", "时", "", "")
.isCenterLabel(true)
.setDividerColor(Color.DKGRAY)
.setContentSize(21)
.setDate(selectedDate)
.setRangDate(startDate, endDate)
.setDecorView(null)
.build();
}
//格式化时间
private String getTimes(Date date) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
return format.format(date);
}
然后在用户点击的时候
case R.id.item_birthday:
initTimePicker(); //初始化时间选择器
pvTime.show();//显示时间选择器
break;
总结
总的来说 比较简单 记录一下 加深记忆 方便以后使用
共勉
我要一步一步往上爬
在最高点乘着叶片往前飞
任风吹干流过的泪和汗
我要一步一步往上爬
等待阳光静静看着它的脸
小小的天有大大的梦想
我有属于我的天
任风吹干流过的泪和汗
总有一天我有属于我的天