#android
#Android
Вопрос:
У меня есть приложение, которое является приложением для управления задачами. Приложение использует вкладки для разделения функций задач, календаря и заметок. Основным представлением пользователя является представление задачи, которое в настоящее время реализовано в виде списка с классом ListAdaptor для размещения всех виджетов в одной строке.
Каждая строка содержит следующие элементы:
- Счетчик, позволяющий использовать для выбора приоритета для задачи (т. Е. A1, A2 .. B1 .. D4)
- TextView для ввода описания задач
- Флажок для пользователя, указывающий, выполнена ли задача
- TextView для необязательного поля даты
- Кнопка для прикрепления примечания к задаче
На телефоне вышеуказанные элементы занимают слишком много места. Например, компонент spinner занимает место для отображения значения, а также выпадающего меню. Флажок и кнопка также слишком велики для просмотра списка на устройстве, таком как телефон.
Вот мои вопросы:
-
Пользовательский счетчик. Что мне действительно нужно в приложении, так это простое текстовое поле, которое показывает приоритет пользователей для задачи с возможностью щелкнуть по тексту и выбрать один из вариантов, похожих на компонент spinner. Должен ли я расширить компонент TextView для этого или можно изменить внешний вид счетчика, чтобы он функционировал как счетчик, но отображался как текстовое поле?
-
Сокращение компонентов. Возможно ли уменьшить стандартные компоненты Android, такие как счетчик, флажок и кнопка, чтобы они лучше помещались в строку ограниченного размера? Должен ли я расширять компоненты для этого или есть их атрибуты, которые могут сделать это проще?
-
Наконец, я реализовал эту функциональность с помощью ListView. Было бы проще управлять ячейками в каждой строке, используя GridView вместо ListView? Каковы преимущества и недостатки использования GridView по сравнению с ListView?
Заранее спасибо за совет по вышеуказанным вопросам.
Бретт
Ответ №1:
-
Почему бы вам не добавить прослушиватель кликов в свой TextView и не показать, например, контекстное меню со всеми вашими элементами при нажатии на TextView.
-
Вы можете ограничить размер компонентов, установив для их ширины / высоты желаемое значение. Также установите размер текста, отступы и поля компонентов на минимальное значение. Обратите внимание, что фон компонентов также может определять отступы, поэтому определите свой собственный фон, который можно рисовать без отступов.
-
Различий не так много. Вы предоставите ListAdapter для обоих. Я бы сказал, что GridView, скорее всего, используется для галерей, ListView используется для задач, подобных вашей. ListView также дает вам больше контроля над своими элементами.
Комментарии:
1. Спасибо за быстрый ответ. Я добавлю прослушиватель кликов в TextView с меню. Все ответы были очень полезны.