Связь между View в xml-файле и расширенным классом View - PullRequest
2 голосов
/ 24 декабря 2009

Есть ли способ связать наследуемый класс с XML-файлом.

Я пытаюсь подключить расширенный класс к виджету в XML-файле.

Возможно ли это?

Заранее спасибо.

1 Ответ

1 голос
/ 24 декабря 2009

Вы, должно быть, заметили, что все узлы , которые мы указываем в XML-макетах, на самом деле либо являются классами View (например, для TextView, EditView), либо для просмотра контейнеров / менеджеров макетов (например, LinearLayout, RelativeLayout и т. Д. .). Android позволяет создавать собственные представления и контейнеры, расширяя класс View и один из менеджеров макета соответственно. Затем вы можете выбрать для надувания такие представления непосредственно из кода или указать их как узлы в XML-разметке.

Например, при условии, что вы создаете класс View, такой как:

public class com.views.MyView extends View{}

тогда вы можете включить этот класс непосредственно в XML-макет, сказав:

<LinearLayout ..>
    <com.views.MyView .. />
</LinearLayout>

Обратите внимание, что при указании класса View непосредственно в XML необходимо учитывать несколько важных тонкостей, таких как: При накачке пользовательского представления фреймворк будет вызывать другой конструктор представления. Аргументами будут объект контекста и AttributeSet (содержащий атрибуты, которые вы задаете в XML).
Для более подробной информации см это

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