如果没用到可以删除对应代码
(资料图片仅供参考)
@RequiresApi(api = _)
public static void openDateStartDialog(final TextView startdate, Context context) {
final Calendar calendar = ();
int yy = ();
int mm = ();
int dd = (_OF_MONTH);
new ContextThemeWrapper(context,_Holo_Light_Dialog_NoActionBar);
(("yyyy-MM-dd", ().toString().trim()));
DatePickerDialog dlg = new DatePickerDialog(new ContextThemeWrapper(context,
_Holo_Light_Dialog_NoActionBar), null, yy, mm, dd) {
@Override
protected void onCreate(Bundle savedInstanceState) {
(savedInstanceState);
LinearLayout mSpinners = (LinearLayout) findViewById(getContext().getResources().getIdentifier("android:id/pickers", null, null));
if (mSpinners != null) {
NumberPicker mMonthSpinner = (NumberPicker) findViewById(getContext().getResources().getIdentifier("android:id/month", null, null));
NumberPicker mYearSpinner = (NumberPicker) findViewById(getContext().getResources().getIdentifier("android:id/year", null, null));
();
if (mYearSpinner != null) {
(mYearSpinner);
}
if (mMonthSpinner != null) {
(mMonthSpinner);
}
}
View dayPickerView = findViewById(getContext().getResources().getIdentifier("android:id/day", null, null));
if(dayPickerView != null){
();
}
}
@Override
public void onDateChanged(DatePicker view, int year, int month, int day) {
(view, year, month, day);
setTitle("请选择对应的日期");
}
};
("请选择对应的日期");
(new () {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
(year + "-" + (month + 1 < 10 ? "0" + (month + 1) : (month + 1)) );
}
});
();
}
下面附上对应的效果图
常用的 年月日 这里也贴出来了,当然改一下上面的也行,但是这个感觉根据对应版本号会好看一点,也是塞入一个TextView和this就可以了,你可以放在点击事件里面调用
使用方法:
openDateStartDialog(tv_time, this);
public static void openDateStartDialog(final TextView startdate, Context context) {
final Calendar localCalendar = ();
(("yyyy-MM-dd", ().toString().trim()));
new MonPickerDialog(context, new () {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
(, year);
(, month);
(_OF_MONTH, dayOfMonth);
String day = dayOfMonth >= 10 ? dayOfMonth + "" : "0" + dayOfMonth;
(year + "-" + (month + 1 < 10 ? "0" + (month + 1) : (month + 1)) + "-" + day);
}
},
(), (), (_OF_MONTH)).show();
}
public static class MonPickerDialog extends DatePickerDialog {
public MonPickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) {
super(context, callBack, year, monthOfYear, dayOfMonth);
}
@Override
public void onDateChanged(DatePicker view, int year, int month, int day) {
(view, year, month, day);
}
}