У меня есть пользовательский компонент, где я знаю, что ширина и высота всегда следующие:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
Я хотел бы избежать необходимости указывать ширину и высоту в XML, поскольку любые другие настройки неверны.
Я пробовал много вещей, но ничего не работает. Например, этот код не работает:
public class MyLayout extends ViewGroup {...
LayoutParams layoutParams =
new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
setLayoutParams(layoutParams);
но что бы я ни делал, я получаю сообщение об исключении «Вы должны указать атрибут layout_width». который исчезнет, если я верну XML layout_width
, layout_height
.
Я также пытался переопределить onFinishInflate()
, но это никогда не вызывается. Я пытался наследовать от View
, ViewGroup
и TableLayout
. Я пытался вызвать getLayoutParams()
, но он возвращает ноль.
Как мне сделать так, чтобы мой пользовательский компонент не нуждался в них, указанных в XML?
Пожалуйста, без сарказма.
Спасибо.