@nicolausYes

Как правильно реализовать «контрол» для многократного использования?

Допустим, нужно разработать некую «читалку», которую можно использовать в других проектах.


«Читалка» представляет собой совокупность логики(кода, который пока помещен в Activity), графических файлов(разных иконок для выбора размера шрифта и т.п.), файлов ресурсов(dimens, colors, strings), xml-разметки(layout-ы, drawable, selectors, custom views).


Взаимодействие с «внешним миром»(с проектом, который ее использует) предполагалось как передача в эту Activity объекта известного типа(или объекта, реализовывающего известный интерфейс), у которого можно спросить все остальное.


Желательно, чтобы не нужно было копипастить все это дело в каждый проект и, чтобы изменив код, он менялся и в других проектах, которые его используют(т.е. чтобы проекты как бы ссылались на разработанный «контрол»). «Читалка» использует ActionBarSherlock(и, возможно, еще пару библиотек).


Реализовать в виде библиотеки? Сделать в виде фрагмента? Любые советы, даже в стиле капитана очевидности, будут полезны.
  • Вопрос задан
  • 3517 просмотров
Решения вопроса 1
serso
@serso
В виде фрагмента можно сделать только для удобства использования (тем кто пользуется фрагментами).
Нужно чтобы контрол мог встраиваться и без фрагемента (а это значит, что никакой логики в фрагменте быть не должно).
Предпологаю, что одним из самых правильных варинатов будет наследование от View (или ViewGroup для набора контролов), т.е. написание своей вьюхи. Далее, я бы на действия вьюхи посылал бы события на контроллер (не зависимый от GUI), который бы делал нужные действия и отсылал события (ответные) обратно на вьюху.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@nicolausYes Автор вопроса
Спасибо!

О создании своей View и контроллере вроде как понял. Потом эта View помещается во фрагмент, а фрагмент в Activity.
А проект, который будет использовать наработку унаследуется от этой активити или запускает ее напрямую, верно? Либо останавливаемся на View(или фрагменте) и используем ее в своей Activity. Пока не понимаю как это будет и как удобней.

О кастомизации верно подметили, она нужна. Отображать/скрывать некоторые кнопки, изменять бекграунд. На сколько я понял, то у View создаются дополнительные атрибуты и речь идет именно об этом, так же?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы