在使用DatePicker时,可以使用以下代码段设置DatePicker的日历显示为完整的天名称:
CalendarView cv = ((DatePicker) findViewById(R.id.datePicker)).getCalendarView(); cv.setShowWeekNumber(false);
DateFormatSymbols symbols = new DateFormatSymbols(); String[] dayNames = symbols.getWeekdays();// 获取完整星期名 ((DatePicker) findViewById(R.id.datePicker)).setMinDate(minDate); ((DatePicker) findViewById(R.id.datePicker)).setMaxDate(maxDate);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { ((DatePicker) findViewById(R.id.datePicker)) .setFirstDayOfWeek(Calendar.MONDAY); // 将星期一设置为第一天 ((DatePicker) findViewById(R.id.datePicker)).setMinDate(minDate); ((DatePicker) findViewById(R.id.datePicker)).setMaxDate(maxDate); } else { ((DatePicker) findViewById(R.id.datePicker)).setCalendarViewShown(false); ((DatePicker) findViewById(R.id.datePicker)).setSpinnersShown(true); }
((DatePicker) findViewById(R.id.datePicker)).findViewById(Resources.getSystem() .getIdentifier("day", "id", "android")) .setBackgroundColor(ContextCompat.getColor(this, android.R.color.transparent));// 将date picker中的每一天背景颜色设为透明
这将从DatePicker中隐藏周数并将日历显示为完整的星期名称。此外,将星期一设置为每周的第一天并将每一天的背景颜色设为透明以避免视觉混淆。