Связь между представлением в xml-файле и расширенным классом View

StackOverflow https://stackoverflow.com/questions/1957252

Вопрос

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

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

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

Заранее благодарю.

Это было полезно?

Решение

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

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

public class com.views.MyView extends View{}

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top