Страница 1 из 1

Годовой вид календаря.

Добавлено: 23 апр 2014, 18:30
Артем Дегтев
Добрый день, если у кого то есть идеи как отрисовать такой вид календаря: http://sgad.ru/uploads/posts/2012-11/13 ... -02-25.png то подскажите.
Пробывал 2 способа:
1) Делать GridView на 12 ячеек, в каждой еще по одному GridView,количество ячеек равное количеству дней. Зполнял все двумя адаптерами, один внутри другого.
2) Програмно создавал линер на 4 строки, каждую строку разбивал на три квадрата, квадраты это гридлейоут, и их заполнял днями.

Суть проблемы: оба метода работают, логика вывода дней все работает как надо на любой год, НО, как жаль есть но - и в том и в том случаи долго происходит отрисовка компонентнов. Причем первый где адаптерами еще дольше чем второй, а второй в среднем секунды 3. Если у кого то есть идеи как отобразить такой вид календаря как на картинке http://sgad.ru/uploads/posts/2012-11/13 ... -02-25.png- предлогайте, буду благодарен.

Re: Годовой вид календаря.

Добавлено: 24 апр 2014, 00:30
rezak90
я бы рисовал на канве, то есть наследовался от View и ViewGroup но думаю это тебе мало что скажет

Re: Годовой вид календаря.

Добавлено: 24 апр 2014, 09:34
Артем Дегтев
rezak90 писал(а):я бы рисовал на канве, то есть наследовался от View и ViewGroup но думаю это тебе мало что скажет
ну что такое канва и как этим пользоваться я знаю, я просто думаю что есть способы менее замудренные. Вот и спросил на форуме.

Re: Годовой вид календаря.

Добавлено: 24 апр 2014, 10:08
rezak90
менее нету, рисуй на канве и время отрисовки будет быстрее... как вариант рекомендую пересмотреть свой код и может где то лишние данные выбираешь или лишний цикл и т.д., ещё как вариант через DDMS посмотреть время выполнения методов, вычислить какой больше всего работает и там искать проблему.

Re: Годовой вид календаря.

Добавлено: 24 апр 2014, 10:12
Артем Дегтев
rezak90 писал(а):менее нету, рисуй на канве и время отрисовки будет быстрее... как вариант рекомендую пересмотреть свой код и может где то лишние данные выбираешь или лишний цикл и т.д., ещё как вариант через DDMS посмотреть время выполнения методов, вычислить какой больше всего работает и там искать проблему.

Хорошо, спасибо, буду пробывать.