Наилучшая практика инициализации одних и тех же элементов во многих видах деятельности? - PullRequest
0 голосов
/ 30 января 2012

Мое приложение имеет нижний колонтитул, который состоит из 5 значков. Эти значки являются чисто ссылками на другие действия.

Теперь все экраны должны иметь этот нижний колонтитул. Из-за этого мне приходится выполнять повторяющиеся задачи в каждом activity, такие как инициализация, регистрация события onClick, обработка события onClick для каждого изображения и т. Д.

Есть ли способ выполнить все эти задачи один раз, а затем применить их к каждому виду деятельности? Точно так же, как я могу сделать некоторые XML-макеты и импортировать их в любой другой XML-макет

Ответы [ 3 ]

1 голос
/ 30 января 2012

Используйте <include> или <merge>, чтобы повторно использовать общий файл макета, затем либо создайте небольшой класс, чтобы выполнить инициализацию для вас, и повторно используйте его во всех ваших действиях, либо создайте подклассы ваших действий из общего суперкласса. который содержит код инициализации.

1 голос
/ 30 января 2012

Предполагая, что вы уже знаете <include> и <merge> *

  1. Создайте класс (назовем его BergnamActivity), который расширяет Activity
  2. ВBergnamActivity, создайте public void something*(View view) методы, которые соответствуют вашим кнопкам.
  3. В макете нижнего колонтитула (при условии, что вы уже использовали), установите кнопки 'onClick, чтобы соответствовать каждому из методов в вашей функции BergnamActivity.Вам необходимо указать имя метода с учетом регистра.(Например, public void mainMethod(View view) приведет к android:onClick="mainMethod"
  4. . Для обычной деятельности вместо расширения активности продлите BergnamActivity

В конечном счете, я против идеиобщего нижнего колонтитула для Android - это работает только для приложений iPhone, так как есть только одна физическая кнопка для управления всем. Android имеет кнопку меню, которая может вызвать дополнительные параметры для пользователя. Размер экрана будет гораздо лучше использоваться.

0 голосов
/ 30 января 2012

Платформа Android предлагает широкий спектр виджетов пользовательского интерфейса, небольшие визуальные строительные блоки, которые можно склеивать, чтобы предоставить пользователям сложные и полезные интерфейсы. Однако приложениям часто требуются визуальные компоненты более высокого уровня. Чтобы удовлетворить эту потребность и сделать это эффективно, вы можете объединить несколько стандартных виджетов в один повторно используемый компонент.

Вы можете использовать теги <merge /> и <include /> в XML-файле макета для повторного использования макета в других макетах.

Для получения дополнительной информации см. Уловки макета: Создание повторно используемых компонентов пользовательского интерфейса

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