Разметка сетки Android для настраиваемого календаря - PullRequest
0 голосов
/ 04 октября 2011

Я работаю над проектом, который требует нашего собственного календарного представления.Я пытался найти лучший способ приблизиться к этому.Я рассматривал возможность использования основного XML-файла, который определит базовый макет календаря, а затем использовать дополнительный XML-файл и вложит его в каждую ячейку календаря для каждого дня в виде массива объектов.

Не совсем уверен, возможно ли это, или это будет лучшим способом решения этой проблемы?

Приветствия

Ответы [ 2 ]

1 голос
/ 04 октября 2011

Я недавно создал макет месяца, используя TableLayout.

Я учел, что вам понадобится 6х7 дней в месяц, чтобы справиться с любой возможной ситуацией. (Первый день месяца - воскресенье, последний день месяца - понедельник и т. Д.)

На основе заданной даты (скажем, 3 августа) я вычисляю первый день, который будет показан

date = 3rd of August
firstDate = first day of month based on date
while( firstDate is not a monday )
   firstDate = present date

Затем я вычисляю последний день, который будет показан:

lastDate = last day of month based on date
while( lastDate is not a Sunday )
   lastDay = following date

Это дает мне интервал дат от firstDate до lastDate

Затем я программно создаю 6 TableRow, в которых есть 7 дней - TextView или что-то еще. Это можно просто объявить в XML-файле, если вы не хотите создавать слишком много разметки на лету. Следует помнить одну вещь: установить layout_weight для TextViews так, чтобы все они были одинаково большими / маленькими, чтобы создать хорошую сетку.

Если то, что вам нужно, больше похоже на дневной или недельный распорядок, то задача немного сложнее.

0 голосов
/ 12 марта 2012

Android имеет утилиту для выполнения всех математических операций, чтобы найти дни в месяце. Я думаю, что использование gridview с android.util.MonthDisplayHelper должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...