CalendarView
Компонент CalendarView находится в разделе Widgets и выводит на экран календарь.
Описание всех атрибутов можно взять из документации.
В данном случае я выбрал цвет для выбранной недели (красный), цвет для номера недели (синий) и цвет для разделителей (зелёный). Спустя несколько лет обнаружил, что данные атрибуты теперь считаются устаревшими и игнорируются.
Выбранную дату можно отслеживать через метод setOnDateChangeListener():
Получить выбранную дату
В предыдущем примере мы получали выбранную дату через слушатель. Получить выбранную дату по щелчку кнопки по идее можно через метод getDate(). По крайней мере в документации говорится, что возвращается выбранная дата, но в реальности возвращается сегодняшняя дата. Оставил пример для демонстрации взаимодействия между CalendarView и объектом Calendar.
Добавим на экран активности кнопки и напишем код для её щелчка.
Программно установить дату в CalendarView
Сделаем обратную задачу — мы получили дату в виде объекта Calendar и хотим установить её в CalendarView. Не забывайте, что отсчёт месяцев идёт с 0.
Вместо вызова свойства calendarView.date можно вызвать метод setDate(), который имеет перегруженную версию с тремя параметрами.
Установить минимальную и максимальную даты
Компонент позволяет установить минимальную и максимальную даты через атрибуты minDate и maxDate, все остальные даты вне заданного промежутка будут недоступны.
Также можно установить эти даты программно через calendarView.minDate и calendarView.maxDate.
Дополнительное чтение
prolificinteractive/material-calendarview — по уверению автора, лучший вариант календаря, чем системный.
vikramkakkar/SublimePicker позволяет выбрать дату, время и повторяющие интервалы.
Источник
Код календаря для андроид
Сегодня мы разберем такой простой и всем известный элемент пользовательского интерфейса Android платформы, как календарь. Чтобы интегрировать стандартный календарь в свое приложение, разработчики используют элемент под названием CalendarView, который появился аж с 3-й версии операционной системы. С помощью различных атрибутов, можно покрутить и настроить вид календаря под свой вкус, хотя настроек не так уж много. Например, присутствуют такие атрибуты:
— android:firstDayOfWeek — выставляем первый день недели;
— android:minDate — минимальная дата, которую будет показывать календарь, которая задается в формате mm/dd/yyyy (месяц, день, год);
— android:selectedWeekBackgroundColor — фоновый цвет для выбранной недели;
— android:showWeekNumber — здесь мы можем выставить, показывать номер недели или нет;
— android:weekNumberColor — цвет для номер недели;
— android:weekSeparatorLineColor — цвет линии, разделяющей недели и тп.
Мы не будем слишком кастомизировать свой календарь, а точнее вообще не будем, мы просто сделаем приложение, отображающее календарь и настроим ему слушателя изменений выбранной даты. Для каждого нажатия по любому дню в календаре мы, используя метод onSelectedDayChange (), будем показывать Toast сообщение с информацией о выбранной дате.
Создаем новый проект, выбираем Blank Activityи минимальную версию Android 4.0+.
В файле activity_main.xml создаем календарь:
Теперь переходим к файлу MainActivity.java. Здесь мы объявляем CalendarView, ссылаемся на наш календарь в файле интерфейса, задаем ему слушателя смены даты setOnDateChangeListener, а также используя метод onSelectedDayChange, при смене даты выводим Toast сообщение с выбранной датой:
Вот и все, на этом знакомство с системным Android календаря заканчивается, запускаем приложение и смотрим на результат:
Работает нормально, правда почему то в Google считают, что январь это 0-й месяц, поэтому май показывает как 4. Чтобы исправить, можно в настройках Toast сообщения, добавить к значению месяца единицу.
Источник
Android | Создание приложения «Просмотр календаря»
В этой статье показано, как создать приложение для Android для отображения Календаря с помощью CalendarView. Он также обеспечивает выбор текущей даты и отображение даты. Используется интерфейс setOnDateChangeListener, который предоставляет метод onSelectedDayChange.
- onSelectedDayChange: В этом методе мы получаем значения дней, месяцев и лет, которые выбрал пользователь.
Ниже приведены инструкции по созданию приложения-календаря для Android.
- Шаг 1: Создайте новый проект, и вы получите XML-файл макета и файл Java. Ваш экран будет выглядеть как на картинке ниже.
Шаг 2: Откройте ваш XML-файл и добавьте CalendarView и TextView. И назначьте идентификатор для TextView и CalendarView. После завершения этого процесса экран xml-файла выглядит следующим образом.
Источник
Код календаря для андроид
Краткое описание:
Мощный календарь.
ОСОБЕННОСТИ:
— Интуитивная навигация с плавными переходами
— День, неделя и месяц календаря
— Виджет в полный экран
— Дни рождения и годовщины с фотографиями из записной книжки и редактирование
— Использует родной календарь Android и синхронизацию с ним
— Не разряжает батарею.
— Фазы луны и знаки зодиака на день рождения
— QR штрих-код для обмена событиями
— 12/24-часовой формат в настройках системых часов
— Оптимизация отображения текста и улучшение разрыва строки
— Бесплатно
— Без рекламы
ИСПОЛЬЗОВАНИЕ:
— Двигайте вперед и назад, смещая по вертикали или с помощью качелей громкости.
— Переключение между календарями горизонтальным скольжением (открывает день или неделю) или двойным нажатием на нужный день.
— Нажмите для открытия события.
— Удерживайте, чтобы добавить новое событие.
— Нажмите на мини-месяц, чтоб перейти на сегодня или на нужную дату.
— Нажмите на фото, чтобы открыть меню быстрых контактов.
Переводы:
Поддержка языков: английский, арабский, чешский, датский, голландский, немецкий, греческий, испанский, финский, французский, иврит, итальянский, японский, корейский, польский, португальский, русский, словацкий, шведский, турецкий и китайский. Если этого мало или перевод некачественный, свяжитесь со мной.
Разрешения:
aCalendar запрашивает разрешение только для его функциональности: чтение и заппись контактной информации о днях рождения, а также считывает и записывает данные календаря.»Отправка письма для гостей» требует «запись данных календаря».
Если вы полюбили aCalendar, пожалуйста проголосуйте, порекомендуйте и оставьте комментарий.
Русский интерфейс: Да
Требуется Android: 5.0 и выше
версия: 2.0.3 [Paid] aCalendar — Android Calendar (Пост Alex0047 #80143869)
версия: 2.0.2 [Paid] aCalendar — Android Calendar (Пост Alex0047 #79994210)
версия: 2.0.1 [Paid] aCalendar — Android Calendar (Пост Alex0047 #79598091)
версия: 1.17.5 Paid Сообщение №1956, автор Alex0047
версия: 1.17.3 build 11706 Paid aCalendar — Android Calendar (Пост Alex0047 #72008000)
Версия: 1.17.3 Paid aCalendar — Android Calendar (Пост Alex0047 #71902742)
Версия: 1.17.2 Paid Сообщение №1847, автор Alex0047
Версия: 1.17.1 Paid aCalendar — Android Calendar (Пост Alex0047 #67749831)
Версия: 1.17.1 GP aCalendar — Android Calendar (Пост And_RU #67756580)
Версия: 1.17.0 Paid aCalendar — Android Calendar (Пост Alex0047 #67589015)
Версия: 1.17.0 GP aCalendar — Android Calendar (Пост And_RU #67554585)
Версия: 1.16.10 Paid aCalendar — Android Calendar (Пост Alex0047 #65084617)
Версия: 1.16.7 GP aCalendar — Android Calendar (Пост And_RU #64975254)
Версия: 1.16.7 Paid + Mod aCalendar — Android Calendar (Пост Alex0047 #64955024)
Версия: 1.16.6 GP aCalendar — Android Calendar (Пост And_RU #64951017)
Версия: 1.16.5 Paid + Mod aCalendar — Android Calendar (Пост Alex0047 #64759095)
Версия: 1.16.5 GP aCalendar — Android Calendar (Пост And_RU #64761870)
Версия: 1.16.2 Paid + Mod aCalendar — Android Calendar (Пост Alex0047 #63542475)
Версия: 1.16.2 GP aCalendar — Android Calendar (Пост And_RU #63544331)
Версия: 1.16.1 Paid aCalendar — Android Calendar (Пост Alex0047 #63301657)
Версия: 1.16.1 GP aCalendar — Android Calendar (Пост And_RU #63295205)
Версия: 1.16.0 Paid aCalendar — Android Calendar (Пост Alex0047 #62950693)
Версия: 1.16.0 GP aCalendar — Android Calendar (Пост And_RU #62951758)
Версия: 1.15.4 Paid aCalendar — Android Calendar (Пост Alex0047 #60797696)
Версия: 1.15.3 Paid aCalendar — Android Calendar (Пост Alex0047 #60609724)
Версия: 1.15.2 Paid aCalendar — Android Calendar (Пост Alex0047 #60553859)
версия: 1.15.0 Paid aCalendar — Android Calendar (Пост Alex0047 #59609815)
версия: 1.14.6 Paid aCalendar — Android Calendar (Пост Alex0047 #58844965)
версия: 1.14.5 Paid aCalendar — Android Calendar (Пост Ramzes26 #58651992)
версия: 1.14.4 Paid aCalendar — Android Calendar (Пост Alex0047 #58045767)
версия: 1.14.3 Paid aCalendar — Android Calendar (Пост Alex0047 #57919039)
версия: 1.14.1 Paid aCalendar — Android Calendar (Пост Alex0047 #57864999)
версия: 1.14.0 Paid aCalendar — Android Calendar (Пост Alex0047 #57741020)
версия: 1.13.1 Paid aCalendar — Android Calendar (Пост Alex0047 #56296951)
версия: 1.13.1 Mod Ru-En aCalendar — Android Calendar (Пост solokot #45194749)
версия: 1.13.0 Paid aCalendar — Android Calendar (Пост Alex0047 #56274389)
версия: 1.12.5 Paid aCalendar — Android Calendar (Пост Alex0047 #56120547)
версия: 1.12.4 Paid aCalendar — Android Calendar (Пост Alex0047 #56077704)
версия: 1.12.3 Paid aCalendar — Android Calendar (Пост Alex0047 #55925561)
версия: 1.12.0 Paid aCalendar — Android Calendar (Пост Alex0047 #55405186)
версия: 1.11.0 Paid aCalendar — Android Calendar (Пост Alex0047 #53272057)
Версия: 1.10.3 aCalendar — Android Calendar (Пост Alex0047 #52341379)
версия: 1.8.4 aCalendar — Android Calendar (Пост kenalog #50230271)
версия: 1.9.1 Paid aCalendar — Android Calendar (Пост Alex0047 #51387160)
версия: 1.9.0 Paid aCalendar — Android Calendar (Пост Alex0047 #51353862)
версия: 1.8.1 Paid Mod aCalendar — Android Calendar (Пост Alex.Strannik #49184271)
версия: 1.7.0 aCalendar — Android Calendar (Пост Roman Horulsky #47422889)
версия: 1.8.1 Paid aCalendar — Android Calendar (Пост yuri_k33 #49124137)
версия: 1.6.3 aCalendar — Android Calendar (Пост Alex0047 #46689883)
версия: 1.6.2 aCalendar — Android Calendar (Пост Alex0047 #46621901)
версия: 1.4.6 aCalendar — Android Calendar (Пост flop69 #43976779)
версия: 1.6.1 aCalendar — Android Calendar (Пост Roman Horulsky #46490569)
версия: 1.6.0 Paid aCalendar — Android Calendar (Пост yuri_k33 #46396782)
версия: 1.5.1 Paid Rus aCalendar — Android Calendar (Пост solokot #45194749)
версия: 1.5.1 Paid aCalendar — Android Calendar (Пост Alex0047 #45160348)
версия: 1.5.0 Paid aCalendar — Android Calendar (Пост Alex0047 #45050348)
версия: 1.4.3 Paid aCalendar — Android Calendar (Пост Alex0047 #43139092)
версия: 1.4.1 Paid aCalendar — Android Calendar (Пост Alex0047 #42813530)
версия: 1.3.6 Paid доперевод aCalendar — Android Calendar (Пост bloodbass #42180809)
версия: 1.3.6 Paid aCalendar — Android Calendar (Пост Alex0047 #42127006)
версия: 1.3.5 Premium aCalendar — Android Calendar (Пост Giacomino #41272747)
версия: 1.3.4 Premium aCalendar — Android Calendar (Пост Alex0047 #41232923)
версия: 1.3.4 Paid aCalendar — Android Calendar (Пост Alex0047 #41243494)
версия: 1.3.2 Paid aCalendar — Android Calendar (Пост Alex0047 #40409434)
версия: 1.3.2 aCalendar — Android Calendar (Пост pyshnyi #40405188)
версия: 1.3.3 Premium by Balatan aCalendar — Android Calendar (Пост Alex0047 #41224097)
версия: 1.3.0 by Balatan aCalendar — Android Calendar (Пост Alex0047 #40320220)
версия: 1.3.0 Paid aCalendar — Android Calendar (Пост Alex0047 #40320124)
версия: 1.3.1 aCalendar — Android Calendar (Пост krasnodar535 #40323132)
версия: 1.1.2 с Amazon aCalendar — Android Calendar (Пост Sweety97 #38838827)
версия: 1.2.1 by Balatan aCalendar — Android Calendar (Пост Alex0047 #39445292)
версия: 1.2.1 с Маркета aCalendar — Android Calendar (Пост Alex0047 #39444112)
версия: 1.1.2 от JASI2169 aCalendar — Android Calendar (Пост Giacomino #38950235)
версия: 1.1.2 с Маркета aCalendar — Android Calendar (Пост Alex0047 #38937456)
версия: 1.1.1 aCalendar — Android Calendar (Пост Alex0047 #38346198)
версия: 1.0.2 aCalendar — Android Calendar (Пост #36712520)
версия: 1.0 aCalendar — Android Calendar (Пост #36093753)
версия: 0.99.8 aCalendar — Android Calendar (Пост #35788885)
версия: 0.99.3 aCalendar — Android Calendar (Пост #34376109)
версия: 0.98.4 aCalendar — Android Calendar (Пост #33887286)
версия: 0.98.3 aCalendar — Android Calendar (Пост #33876970)
версия: 0.18.4 //4pda.to/forum/d…alendar%2B+v0.18.4.apk
версия: 0.18.3 aCalendar — Android Calendar (Пост #32166109)
версия: 0.18.2 aCalendar — Android Calendar (Пост #32166109)
версия: 0.18.1 aCalendar — Android Calendar (Пост #32146949)
версия: 0.17.2 aCalendar — Android Calendar (Пост #31086169)
версия: 0.17.1 aCalendar — Android Calendar (Пост #31086169)
версия: 0.16.8 aCalendar — Android Calendar (Пост #30023459)
версия: 0.16.7 beta //4pda.to/forum/d…dar%2B_0.16.7+beta.apk
версия: 0.16.6 beta aCalendar — Android Calendar (Пост #28444032)
версия: 0.16.5 //4pda.to/forum/dl/post/3979994/aCalendar%2B_0.16.5+beta.apk
версия: 0.16.4 //4pda.to/forum/dl/post/3975943/aCalendar%2B_org.withouthat.acalendarplus_1974.apk
версия: 0.16.2 beta aCalendar — Android Calendar (Пост #28080008)
версия: 0.16.1 beta aCalendar — Android Calendar (Пост #28076470)
версия: 0.15.5 beta aCalendar — Android Calendar (Пост #26830813)
версия: 0.15.2 //4pda.to/forum/dl/post/3390208/aCalendar%2B+Android+Kalender_v0.15.2.apk
версия: 0.15.1 beta //4pda.to/forum/dl/post/3218783/aCalendar__0.15.1_beta.apk
версия: 0.15 beta //4pda.to/forum/dl/post/2892902/aCalendar__0.15.0_bet.apk
версия: 0.14.9 beta //4pda.to/forum/dl/post/2828526/aCalendar__0.14.9_beta.apk
версия: 0.14.8.3 beta //4pda.to/forum/dl/post/2711178/aCalendar%2B+Android+Calendar+v0.14.8.3.apk
версия: 0.14.8.1 beta //4pda.to/forum/dl/post/2708526/aCalendar__0.14.8.1_beta.apk
версия: 0.14.7 //4pda.to/forum/dl/post/2547202/aCalendar%2B+Android+Calendar+v0.14.7.apk
версия Free: 0.14.6 beta aCalendar__0.14.6_beta.apk
версия Free: 0.14.5 beta aCalendar__0.14.5_beta.apk
версия Plus: 0.14.2 beta //4pda.to/forum/dl/post/2294530/org.withouthat.acalendarplus.183.apk
версия: 0.13.6 //4pda.to/forum/dl/post/1930238/aCalendar+%20Android%20Calendar%20v0.13.6.apk
версия: 0.14.4.2 beta aCalendar__0.14.4.2_beta.apk
версия: 0.14.4.1 beta aCalendar__0.14.4.1_beta.apk
версия: 0.14.2 beta //4pda.to/forum/dl/post/2126941/aCalendar%2B+Android+Calendar+v0.14.2.apk
версия: 0.14.1 beta //4pda.to/forum/dl/post/2108250/aCalendar__0.14.1_beta.apk
версия: 0.13.5 //4pda.to/forum/dl/post/1895347/aC+%20v0.13.5.apk
версия: 0.13.3 //4pda.to/forum/dl/post/1846847/aC_v0.13.3.apk
версия: 0.13.2 //4pda.to/forum/dl/post/1829896/aC__v0.13.2.apk
версия: 0.13.1 //4pda.to/forum/dl/post/1813348/aC__v0.13.1.apk
версия: 0.12.9 //4pda.to/forum/dl/post/1737151/aC__v0.12.9.apk
версия: 0.12.8 //4pda.to/forum/dl/post/1698444/aC_v0.12.8.apk
версия: 0.12.7 //4pda.to/forum/dl/post/1681816/aCAC_v0.12.7_apkmania.com.apk
версия: 0.12.6 //4pda.to/forum/dl/post/1651737/aC_v1.12.6_apkmania.com.apk
версия: 0.12.3 //4pda.to/forum/dl/post/1621327/aCalendar__Android_Calendar_v0.12.3.apk
версия: v0.11.8 aCalendar_141.apk ( 275.39 КБ )
Сообщение отредактировал iMiKED — 22.06.21, 10:32
Источник