У меня есть RelativeLayout, определенный в файле макета xml с именем «myview.xml», который содержит несколько под-представлений (TextViews, ImageViews и т. Д.).Лучший способ создать пользовательский класс View из файла макета xml?
Я хочу создать объект/класс View с именем 'MyView', который представляет это RelativeLayout, что позволяет мне изменять свойства под-представлений с использованием методов, которые я буду определять, и чтобы я мог добавлять (и извлекать) экземпляры из MyView программным способом (из) других представлений.
Каков наилучший способ для этого? На данный момент я создаю класс с именем «MyView», который простирается FrameLayout и переопределение FrameLayout в три конструктора я называю следующие методы ...
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.myview, null);
addView(view);
... Это работает, но это означает, что все мои RelativeLayouts содержатся в FrameLayouts и, следовательно, у меня есть дополнительный (ненужный) слой в моей иерархии просмотров ...
благодарит за комментарий Mad Mik. Если я правильно понимаю метод 'inflate', это все равно означает, что у меня есть дополнительный слой в моей иерархии представлений, но я рад узнать, что я не одинок, делая это, как я это делаю, и ваш путь имеет один метод вызова, Иди с этим! :) –
да. вы все равно получаете раздутые взгляды в качестве детей. – madmik3