С Material Components за Android можете да използвате новия MaterialDatePicker
.
За да работи добре, във вашето приложение трябва да използвате Тема за материални компоненти.
По този начин вие наследявате стилът и темата за берачите.
За да изберете една дата просто използвайте:
MaterialDatePicker.Builder<Long> builder = MaterialDatePicker.Builder.datePicker();
builder.setTitleText(R.string.your_text);
MaterialDatePicker<Long> picker = builder.build();
picker.show(getSupportFragmentManager(), picker.toString());
За да изберете диапазон от дати, можете да използвате DateRange Picker, като използвате:
MaterialDatePicker.Builder<Pair<Long, Long>> builder =
MaterialDatePicker.Builder.dateRangePicker();
CalendarConstraints.Builder constraintsBuilder = new CalendarConstraints.Builder();
builder.setCalendarConstraints(constraintsBuilder.build());
MaterialDatePicker<?> picker = builder.build();
picker.show(getSupportFragmentManager(), picker.toString());
![въведете описание на изображението тук](https://i.stack.imgur.com/UhYGv.png)
Проверете цветовете, използвани във вашата тема.
Тези атрибути определят вашия стил. Не е необходимо да ги добавяте, те се предоставят по подразбиране с темата Material Components.
<!-- Picker styles and themes. -->
<item name="materialCalendarStyle">@style/Widget.MaterialComponents.MaterialCalendar</item>
<item name="materialCalendarFullscreenTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen</item>
<item name="materialCalendarTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar</item>
Въз основа на този стил, цветовете, използвани от инструмента за избор, са:
HeaderLaoyout -> background:colorPrimary, textColor:colorOnPrimary
HeaderSelection -> background:colorPrimary, textColor:colorOnPrimary
ConfirmButtons -> background:colorPrimary, textColor:colorOnPrimary
Buttons -> background:colorPrimary, textColor:colorOnSurface
HeaderToggleButton-> textColor:colorOnPrimary
Day -> text:colorOnSurface stroke:colorOnSurface
SelectedDay -> background:colorPrimary, textColor:colorOnPrimary
RangeFillColor -> background:colorPrimary
person
Gabriele Mariotti
schedule
05.09.2019