Кастомный "Календарь"
Добавлено: 31 дек 2013, 04:05
Добрый день(утра,ночи). И с наступающим вас всех.
Озадачился целью выводить диалог с "календарем" для красоты выбора даты. Датапикер бесит своей пустотой.
Пишу приложение и для 2.2 так что CalendarView - даже не изучал(он же с 11 api и в саппорт либу не входит - верно?).
А задача следующая - при нажатии на кнопку с полем "Дата" должен открываться диалог с развернутым календарем на год вперед и год назад (примерно) в виде списка(смотреть картинку), если пальцем скроллить то он соответственно прокручивается на предыдущий или последующий месяц.
Примерную реализацию вижу так:
ScrollView, в нем около 24!!!! GridView - таблица дней, и LinearLayout к каждому "месяцу" с Названием месяца и днями недели...
один месяц=один GridView на 7 столбцов на 6 строк. в качестве массива данных мы даем ему строковой массив в виде {"","","1","2",..."30"}
первые два пустые не спроста - предполагается что данный месяц начинается со среды, то етсь первое число этого месяца среда, другого будет другой день недели. Т.е. нам надо формировать массив для каждого месяца. Тут у меня вопрос: как это сделать? я несколько часов разбирал уроки и примеры с Calendar и не понял (текущий год-1 и потом цикл на 12 месяцев, но для начала мне надо узнать первый день недели года(не текущего, а предыдущего!)) и как узнать сколько дней в феврале во время работы заполнения массива?
после заполнения каждого месяца мы передаем его адаптеру который кидает его в GridView, ему мы ставим обработчик один на все гридвью. где и "сохраняем" нажатие на конкретный пункт... также в нем прописываем "ничего не деланье" если нажали на "пустой эллемент GridView.
Что-то мне подсказывает что это слишком сложный подход и есть решения куда проще?
Поделитесь мыслями ребят плз. Еще раз всех с наступающим. А я пошел спать.
Озадачился целью выводить диалог с "календарем" для красоты выбора даты. Датапикер бесит своей пустотой.
Пишу приложение и для 2.2 так что CalendarView - даже не изучал(он же с 11 api и в саппорт либу не входит - верно?).
А задача следующая - при нажатии на кнопку с полем "Дата" должен открываться диалог с развернутым календарем на год вперед и год назад (примерно) в виде списка(смотреть картинку), если пальцем скроллить то он соответственно прокручивается на предыдущий или последующий месяц.
Примерную реализацию вижу так:
ScrollView, в нем около 24!!!! GridView - таблица дней, и LinearLayout к каждому "месяцу" с Названием месяца и днями недели...
один месяц=один GridView на 7 столбцов на 6 строк. в качестве массива данных мы даем ему строковой массив в виде {"","","1","2",..."30"}
первые два пустые не спроста - предполагается что данный месяц начинается со среды, то етсь первое число этого месяца среда, другого будет другой день недели. Т.е. нам надо формировать массив для каждого месяца. Тут у меня вопрос: как это сделать? я несколько часов разбирал уроки и примеры с Calendar и не понял (текущий год-1 и потом цикл на 12 месяцев, но для начала мне надо узнать первый день недели года(не текущего, а предыдущего!)) и как узнать сколько дней в феврале во время работы заполнения массива?
после заполнения каждого месяца мы передаем его адаптеру который кидает его в GridView, ему мы ставим обработчик один на все гридвью. где и "сохраняем" нажатие на конкретный пункт... также в нем прописываем "ничего не деланье" если нажали на "пустой эллемент GridView.
Что-то мне подсказывает что это слишком сложный подход и есть решения куда проще?
Поделитесь мыслями ребят плз. Еще раз всех с наступающим. А я пошел спать.