AndroidPicker
AndroidPicker copied to clipboard
时间选择器怎么添加至今选项?
trafficstars
求解!!
求解!!
picker.getWheelLayout().setDateFormatter()/picker.getWheelLayout().setTimeFormatter()也许可以,判断是今天的日子就返回“至今”
这种效果差不多是可以实现的,如下:
DatePicker picker = new DatePicker(this);
picker.setBodyWidth(240);
picker.setOnDatePickedListener(this);
DateWheelLayout wheelLayout = picker.getWheelLayout();
wheelLayout.setDateMode(DateMode.YEAR_MONTH);
final DateEntity maxDate = DateEntity.dayOnFuture(1);
wheelLayout.setRange(DateEntity.target(1990, 1, 1), maxDate);
wheelLayout.setDateFormatter(new DateFormatter() {
@Override
public String formatYear(int year) {
if (year == maxDate.getYear()) {
return "至今";
}
return year + "年";
}
@Override
public String formatMonth(int month) {
if (wheelLayout.getSelectedYear() == maxDate.getYear()) {
return "";
}
return month + "月";
}
@Override
public String formatDay(int day) {
return "";
}
});
picker.show();
DatePicker picker = new DatePicker(this);
picker.setBodyWidth(240);
picker.setOnDatePickedListener(this);
DateWheelLayout wheelLayout = picker.getWheelLayout();
wheelLayout.setDateMode(DateMode.YEAR_MONTH);
final DateEntity maxDate = DateEntity.monthOnFuture(1);
wheelLayout.setRange(DateEntity.target(1990, 1, 1), maxDate);
wheelLayout.setDateFormatter(new DateFormatter() {
@Override
public String formatYear(int year) {
return year + "年";
}
@Override
public String formatMonth(int month) {
if (wheelLayout.getSelectedYear() == maxDate.getYear() && month == maxDate.getMonth()) {
return "至今";
}
return month + "月";
}
@Override
public String formatDay(int day) {
return "";
}
});
picker.show();
多谢多谢!!
多谢多谢!!
局限性还是太大了,最好是参照DatePicker继承自LinkagePicker重新自定义一个时间选择器


