Android: пользовательский вид на основе макета: как? - PullRequest
6 голосов
/ 02 апреля 2010

Я создаю приложение для Android и немного борюсь с пользовательскими представлениями.

Я хотел бы иметь многоразовый вид, состоящий из нескольких стандартных элементов макета. Скажем, относительное расположение с некоторыми кнопками.

Как мне поступить. Должен ли я создать собственный класс представления, который расширяет RelativeLayout и программно добавить эти кнопки? Я думаю, что это немного излишне?

Как правильно сделать это в Android?

1 Ответ

11 голосов
/ 02 апреля 2010

Вот несколько грубых шагов, касающихся одного из способов создания настраиваемого агрегатного представления:

  1. расширение RelativeLayout
  2. Предоставьте конструктор в вашем новом классе, который принимает Context и AttributeSet, убедившись, что сначала вызывается суперкласс. Не добавляйте ничего на этом этапе. Дождитесь следующего шага.
  3. переопределяет метод onFinishInflate , где вы можете добавить свое содержимое с помощью кода Java или надувая ресурс XML
  4. Добавить любые обработчики событий и т. Д.
  5. При необходимости создайте файл ресурсов, если ваш виджет потребует установки атрибутов.

...